【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入

在真实 SQL 注入安全测试中,我们一定要先明确提交数据及提交方法后再进行注入,其中提交数据类型和提交方法可以通过抓包分析获取,后续安全测试中我们也必须满足同等的操作才能进行注入。
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第1张图片

1、简要明确参数类型

数字、字符(字符型要加‘’)、搜索、JSON等;
其中 SQL 语句干扰符号:’ " % ) }等,具体需看写法

2、简要明确请求方法

GET、POST、COOKIE(不是请求方法,是传送方式)、REQUEST、HTTP头等;
不同的请求方式,请求的数据类型、数据大小都不一样;

这个网站请求方法出现漏洞,要按照对应的请求方法,去测试注入;

(1)GET请求

编写php代码,实现GET请求的演示
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第2张图片
用bp抓包192.168.74.144/1.php?g=789可以看到GET请求,网站页面会出现789
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第3张图片

(2)POST请求

用bp抓包192.168.74.144/1.php?g=789$p=456,页面不打印456
因为p是POST方法,单纯的在get后面对p做请求是没办法回应的,必须做POST请求
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第4张图片
hackbar有工具可以去做POST请求,抓包看一下
g=789是get方法,p=456放在最后,我们这里使用post请求,但是打印出来的是789456,因为get有个特性:只要在网址后面就可以接收到
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第5张图片

(3)COOKIE请求

自己手动添加cookie一行
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第6张图片

(4)REQUEST请求

REQUEST请求是全部接收,POST、GET和COOKIE的数据全部接收;
若我们不清楚对方的接收方式,就使用request请求,不用管对方是什么请求方法,因为request全部接收,便于绕过;

(5)_SERVER[’ HTTP_USER_AGENT ']

是php的全局变量,用来获取系统的一些值,一些信息;
参考文章:server详解
可以在网站的数据包查询注入,在http数据包里面注入,就是HTTP头部注入
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第7张图片

3、参数字符型注入测试=>sqlilabs less 5 6

解法:想办法让字符闭合

打开靶场sqlilabs less 5

http://127.0.0.1/sqlilabs/Less-5/?id=1 and 1=1页面正常
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第8张图片
http://127.0.0.1/sqlilabs/Less-5/?id=1 and 1=12页面仍然正常
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第9张图片
查看源代码查询为什么,发现$id上有单引号,表示把传入的id值当作了字符
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第10张图片
所以注入的时候需要把单引号释放出来
如果传入的id=1’ and 1=1,则查询的语句如下
在这里插入图片描述
如果传入的id=1’ and ‘1’='1,则查询的语句如下
在这里插入图片描述

打开靶场sqlilabs less 6

【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第11张图片

查看源码,发现 i d = ′ " ′ . id = ' " '. id=".id.’ " ’ ,表明id前后都加上了双引号
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第12张图片
所以我们加上双引号,再另数值不相等,看它能不能报错;
双引号和前面的双引号闭合,-–+将后面的limit都注释掉;

注入测试 http://127.0.0.1/sqlilabs/Less-6/?id=1" and 1=2–+ ,产生了报错
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第13张图片

4、POST 数据提交注入测试=>sqlilabs less 11

打开靶场
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第14张图片
使用数据抓包,找到注入点就在登录框附近
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第15张图片
查看php源代码,可以看到是单引号,要把单引号闭合
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第16张图片
用下面语句进行SQL注入,爆出数据库名称
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第17张图片

5、参数 JSON 数据注入测试=>本地环境代码演示

JSON的格式为,它经常出现在APP中
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第18张图片
对JSON进行注入测试,要用JSON的格式写
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第19张图片

6、COOKIE 数据提交注入测试=>sqlilabs less 20

打开靶场
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第20张图片
改写语句,观察SQL语句
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第21张图片
这里观察php源代码,对POST注入会有过滤,所以采用cookie注入
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第22张图片
抓取数据包,采用cookie注入,爆破出了数据
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第23张图片

7、HTTP 头部参数数据注入测试=>sqlilabs less 18

打开靶场,出现了我的IP,这个页面可以检测我的IP,所以就是SERVER服务
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第24张图片
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第25张图片
观察php源代码,发现查询方式是insert

【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第26张图片
抓取数据包,尝试注入点
【小迪安全day14】WEB漏洞——SQL注入之类型及提交注入_第27张图片

你可能感兴趣的:(网安学习,安全,前端,sql)