sql注入_1-4_post盲注
一.post盲注概念
1.首先post盲注和get盲注一样,只是不会拼接到url中
2.post请求会向指定资源提交数据,请求服务器进行处理,如,表单提交,文件上传等,请求数据会包含在请求体中
3.使用post方法时,查询字符在post信息中单独存在,和http请求一起发送到服务器
二.实验
这里我们使用sqli less-15实验基于post时间和布尔
先探测post基于时间
打开代理和bs,提交任意表单
代理截断,发送到repeater重发攻击
加反斜杠,服务器返回一张slap图片
什么都不加,也是一样
观察响应时间,可以看到什么不进行攻击时时间为1秒
加入sql语句
// ’ and (select (if(length(database())>5,sleep(5),null))) –
//猜测sql语句为
//select xx from xx where name=‘xxx’ and passwd =‘xxx’
// 所以使用单引号闭合前面的单引号
//if判断数据库名是否为5个字段 ,是就睡眠5秒钟
//null为只做一次重发攻击不做多次
// --空格为注释掉后面的单引号
可以看到响应时间为6秒
明显服务器被睡眠了5秒
基于post布尔攻击
可以看到可以猜测字段名和长度
但是很麻烦
在原来的基础上加上基于布尔的语句
’ and (length(database())>1) –
判断数据库名长度是否大于1
服务器响应了flag.jpg
将值改为>8
可以看到响应了
slap.jpg
由此可以判断
数据库名长度 = 8
三.使用sqlmap探测
复制内容到zft.txt
指定探测参数
和探测技术
开始探测
没有探测成功
我们按照提示加入 level 和risk参数
进行更深的探测
由于时间太慢了,所以这里就不演示了
因为它存在sql盲注
所以我们可以爆他的数据库的内容
使用相应的参数就可以进一步的探测
总结 post盲注和get盲注一样的,只是一个回显一个不回显 只要严格的过滤参数以及把sql 语句分离,一样无法注入