盲注学习(sqli-labs 8(布尔盲注) 9(时间盲注))


所以称为盲注是因为他不会根据你sql注入的攻击语句返回你想要知道的错误信息。


盲注分为两类:
    1.布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根据    你的注入信息返回Ture跟Fales,也就没有了之前的报错信息。
    2.时间盲注 界面返回值只有一种,true 无论输入任何值 返回情况都会按正常的来处理。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确。

需要用到的函数:

Length()函数 返回字符串的长度
Substr()截取字符串
Ascii()返回字符的ascii码
sleep(n):将程序挂起一段时间 n为n秒
if(expr1,expr2,expr3):判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
首先利用length()判断数据库长度;


接下来利用substr函数与ascii函数构造猜测数据库名ascii码的值的语句

通过二分法找到第一个字母


115即字母s 依次猜解

然后再猜解表 即把 database() 改成(select table_name from information_schema.tables where table_schema="security")


101即字母小写字母e 依次爆破 对了 记得用length查下字母长度

剩下的猜列名同理


既然知道是布尔值的盲注,可利用sqlmap来注入

通过    --technique指定注入类型    

--bath 让sqlmap自动输入

--dbms mysql 指定数据库系统为mysql绕过sqlmap的自动检测

-v 显示 (0-6)



emmmm  出现太多payload

还是把-v的等级改成 0吧




刷了半个小时抖音终于出来了



时间盲注

利用的函数为sleep() if()

先判断是否为时间注入



再猜解数据库 ,通布尔盲注一样

同理用sqlmap简单



猜你喜欢

转载自blog.csdn.net/qq_30464257/article/details/80593752