sql注入_1-4_post盲注

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 语句分离,一样无法注入

发布了15 篇原创文章 · 获赞 2 · 访问量 2422

猜你喜欢

转载自blog.csdn.net/weixin_44110913/article/details/103391956