sql注入学习——时间盲注
前言:之前通過前九關學習到了回顯注入、報錯注入、布爾盲注等一些方法,這次就來詳細的學習時間盲注。
在上一篇博客中,了解了布爾盲注,其實布爾盲注和時間盲注大致相同,注入原理是一致的,區別就是一個還是有回顯的,一個徹底沒有回顯,通過構造語句,通過頁面響應的時長,來判斷信息,這就是時間盲注。
先來學習一下時間盲注所需要的函數
sleep()/延遲函數 if(condition,true,false)/若條件為真 返回true,若條件為假 返回false substring("string",strart,length)主要的也就是這幾個了,下面就通過sqli-labs第十關來練習時間盲注
猜測數據庫名長度
payload:
這里執行失敗的話將睡十秒,能更快的判斷,當然也可以將sleep()函數,放在執行成功的位置。
根據瀏覽器的反應來判斷出數據庫名長度(如果是手動注入的話切記網速得好,要不然就好玩了。。。)
爆出數據庫名
payload:
根據瀏覽器的反應,來猜測出數據庫名,其實時間注入就是比布爾盲注多了一個if函數,sleep()函數就相當于布爾盲注中的true或false,其他語句大致都相同。
爆表名
payload:
同樣也是觀察瀏覽器反應時間,如果沒有睡10秒則表名條件正確,繼續嘗試
爆列名
payload:
爆值
payload:
可以看出其實時間盲注和布爾盲注語句基本相同,只不過是時間盲注通過if語句來執行sleep函數,從而判斷。如果理解了布爾盲注,時間盲注也很好理解。
但還是最好寫一下腳本,手工注入效率低且容易出錯。這次就先學習到這里,了解了時間盲注,等到腳本能力提高了,自己寫出一個腳本跑一下。
總結
以上是生活随笔為你收集整理的sql注入学习——时间盲注的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql注入学习——布尔盲注
- 下一篇: python学习(字典、用户输入和whi