当前位置: 首页 > wzjs >正文

品牌大全网站源码黄江网站建设公司

品牌大全网站源码,黄江网站建设公司,余干县建设局网站,唐山百度快速排名提升前言 之前一篇文章简单写过sql注入产生的原因,大体是因为网站传参数据时,过滤不够严格导致传参的数据和后台sql语句拼接执行。还了解了为什么要闭合,闭合的作用,以及注释的作用,那么现在就开始具体学习各种类型的注入…

前言

之前一篇文章简单写过sql注入产生的原因,大体是因为网站传参数据时,过滤不够严格导致传参的数据和后台sql语句拼接执行。还了解了为什么要闭合,闭合的作用,以及注释的作用,那么现在就开始具体学习各种类型的注入。https://blog.csdn.net/zl0_00_0/article/details/146605934?spm=1011.2124.3001.6209

其实在学习之前个人认为还是具体去学习一下几个现在常用数据库的结构,比如说mysql或是sql server等等,但是这两个内容太多了,短时间学不精,而且大多的数据库的差异都是储存数据的格式差别,其构成还是:库、表、列、字段之类存在级别区分的个体组成的,这边就直接进入操作过程

注入前

1、判断是否有sql注入漏洞,若有则判断注入点和传参方式

其中传参方式有get传参和post传参,get传参可以通过在url地址栏输入测试的语句测试,post则一般是一个具体的输入框,比如一个登录界面;判断是否存在注入点最经典的是id=1'判断,如果传参之后网页报错了则代表具有sql漏洞,当然如果网页没有报错也不代表不存在,可能是对'进行了过滤或其他手段,可以利用其他验证方式进行验证

2、判断注入类型:数字型或字符型

数字型和字符型是在创建数据库的表时确定的,类型总是以数字或字符来区分

数字型大多可以这样判断:id=x and 1=1可以加注释符,如果传参这个网站运行没有出错,继续传参id=x and 1=2可以加注释符时报错了,则说明是数字型注入。通过之前的文章我们也能知道传参的第一句没有语法错误且后面定义恒为真,第二句恒为假,所以第一句正常回显,第二句会报错。但如果是字符型还是传参上面两个语句,字符型会把and当作字符,而不会像执行语句一样去解析and所以语句不会执行。

联合查询注入(也叫union注入)

当页面随我们传参的值会发生变化时,我们通常使用联合查询注入

union注入常用的环境变量

这边运用sqli-labs第一关来尝试

判断是否存在注入

回显存在错误,可以看到是闭合错了删去‘

存在注入,接着判断类型

输入测试语句,回显正常,这边要有一个区分,我们在上面的1后面加上’

可以看到还是回显成功了,我是这样理解的:我们看一下两个的执行语句,首先sql语句中的单引号总是要成对存在的,不然会报错,第一句后面虽然加了注释符号,但是如果后面的单引号被注释了,那么前面只有一个单引号显然会报错,这边没报错说明两个单引号闭合了,后面的注释符没注释掉单引号,而第二句在1后面加了单引号,直接和前面的单引号闭合了,后面的单引号被注释掉了同样不会报错,但是如果我们用第一句每加单引号的去进行测试可以看看,当我们后面恒假时

sql语句还是成功执行,可以去具体看看这句sql中id是等于1 and1=2--,那么是不是可以认为像字符类型一样的,and被当成字符解析了失去了他原本的功能,导致后面恒假的条件不成立,再加上语句没有错误所以成功执行,那么如果我们在1后面加上单引号使后面恒假呢

可以发现没有回显,那就说明是字符型注入,现在我们使用笨办法去一一查看看有几行:就是令id=x依次递增

在id=15时没有回显说明有14个行,现在我们对行1进行操作,id是一列的名称,类似这样的结构

介绍一个函数:order by。

默认语法:SELECT 列名 FROM 表名 ORDER BY 列名 [ASC|DESC];       

例如select * from users order by 2      从名为 “users” 的表中选择所有列的数据,并按照表中的第二列进行排序。其中*是通配符,表示所有列

当然也可以和id=x联用,反正order by后面要接上列名,操作看看

可以看到对于行1进行操作,当列数到达4时就报错了,说明这个表中只有3列

接下来介绍union select:

union主要是用于合并两条查询结构

例如:这边有两个查询语句SELECT id,name FROM user1和SELECT id,username FROM user2,查询结果分别是--和++那么如果执行

SELECT id,name FROM user1 UNION SELECT id,username FROM user2

查询结果就是---+++,union使用的规则是查询的两个语句指定的列数必须相同,两个查询中对应列的数据类型必须兼容,不然会报错,使用union查询后默认对两组查询的结果进行去重操作,如果想保留全部查询数据,可以使用union all

select

如果直接执行select 1,2,3的话由于没有from指引,select不会定位任何表,会直接返回我们指定的数据,并将它们当作列名,类似这样

那么如果我们执行

SELECT id,name FROM user1 union SELECT 1,2

会将users表中id和name列中的数据和1,2合并类似

最后我们理解这个代码

SELECT * FROM user1 where id=-1 UNION SELECT 1,2,3

将user1表中id=-1列的内容和1,2,3合并,id=-1这一列显然是不存在的,所以就只会显示1,2,3


文章转载自:

http://yHOaZ9Nd.pxbrg.cn
http://ONmMMZH9.pxbrg.cn
http://7Qi44OIr.pxbrg.cn
http://ql419vPZ.pxbrg.cn
http://ramFBtSA.pxbrg.cn
http://dS11FDqM.pxbrg.cn
http://E44FVK76.pxbrg.cn
http://ugMZxI7o.pxbrg.cn
http://4kCglYmS.pxbrg.cn
http://La4NPkK6.pxbrg.cn
http://nJLlEa2W.pxbrg.cn
http://ZJqZsCXT.pxbrg.cn
http://w1hHZYyv.pxbrg.cn
http://3Mg6Ys8k.pxbrg.cn
http://rxGrOPtB.pxbrg.cn
http://sYc1JO1E.pxbrg.cn
http://QEotLp6n.pxbrg.cn
http://ECQcEaEd.pxbrg.cn
http://B12pWC7D.pxbrg.cn
http://FkdKka50.pxbrg.cn
http://pHb96LYB.pxbrg.cn
http://yuMTqp4k.pxbrg.cn
http://FGAf7NH4.pxbrg.cn
http://URVGbal9.pxbrg.cn
http://BMK4YUik.pxbrg.cn
http://OE06dFWp.pxbrg.cn
http://ozWNe3L9.pxbrg.cn
http://pwpaV0w5.pxbrg.cn
http://3HktL6vU.pxbrg.cn
http://kobXi7oy.pxbrg.cn
http://www.dtcms.com/wzjs/741971.html

相关文章:

  • 龙港 网站建设深圳ui设计培训班
  • 品牌网站建设 细致磐石网络四川建设网证书查询
  • 网站站群建设怎么查网站做百度竞价信息
  • 网站开发课程改革wordpress娱乐网
  • 青海省建设厅网站职称评审表wordpress4.6字体
  • 网站首页动画怎么做的企业网站推广策划书
  • 深圳 网站开发佛山市禅城网站建设
  • 做程序题的国外网站how to use wordpress ninja forms
  • 游戏网站模板html网站wap转换
  • 网站建设的方法有wordpress修复
  • 网站建设需要提供功能目录吗松江新城投资建设集团有限公司网站
  • 建站系统源码免费的室内设计网站
  • 什么网站可以做自考试题域名估价
  • 太原网站关键词优化wordpress文章标题优化
  • 海南省做购房合同网站wordpress小工具怎么用
  • 小程序代运营多少钱一个月seo服务公司推荐
  • 网站建设管理概述怎样建设小游戏网站
  • 做那种网站受欢迎初级软件工程师报考条件
  • 厦门手机网站建设方案网站建设分录
  • 北京网站建设排行做旅游网站一年能挣多少
  • WordPress缩略图短代码郑州网站优化公司价位
  • 做网站怎么写代码杭州有几个区
  • 网站开发的理解淘宝网页版登陆
  • 怎么做网站的移动端适配版学校网站备案前置审批
  • 网站里的图片切换怎么做wordpress投稿系统
  • 网站别人能打开我打不开山东规划 建设部门的网站
  • 天津企业免费建站net core 仿wordpress
  • 双流规划建设管理局网站广州专业视频制作
  • wordpress 知名站点网站建设相关问题
  • 比较好的网站建设做产品网站费用吗