一、盲注的基本條件
1、用戶能夠控制輸入
2、原程序要執行的代碼拼接了用戶輸入的數據。
二、盲注的類型
1、基於布爾型:返回true或false
如下圖:用戶名猜對了,立馬回顯。猜錯了,報錯。
猜錯的情況:
如果實在不記得了,可使用like通配符。
2、基於時間盲注:sleep()延時盲注
length()函數:返回字符串的長度
substr(str,pos,num) :截取指定位置指定長度的字符串
mid(str,pos,num) :截取指定位置指定長度的字符串
ascii() 查詢ascii碼中對應的值
if 判斷語句。
1、猜數據庫長度(第一個語句成立的話,執行第二個語句,否則執行第三個語句)
2、猜數據庫名。
a、猜數據庫第一位,使用if判斷,判斷數據庫名第一位對應的ascii值。借助burpsuit工具抓包。
b、將抓的包發送到爆破模塊。去掉變量
c、在第一個值這里添加變量。
我們可以看到112對應的ascii中的字母為p
2、破解整個數據庫名稱
對應ascii值可得知:數據庫名稱為 pentest