SQL Server的WAITFOR DELAY注入


1、waitfor用法介紹

功能:指定觸發語句塊、存儲過程或事務執行的時間、時間間隔或事件。

語法:WAITFOR { DELAY  'time' | TIME  'time' }

參數:

  DELAY:指等過了指定的時間過去后再執行SQL。

  TIME:指等到了指定的時間點后再執行SQL。

  'time':要等待的時間。可以按 datetime 數據可接受的格式指定 time,也可以用局部變量指定此參數。格式為"HH:MM:SS",不支持日期,最長可達 24 小時。

2、waitfor 示例

例子1:指定等待1小時2分鍾3秒后執行

waitfor delay '01:02:03'
select * from PS_Category

 

例子2:指定10點1分2秒時執行

waitfor time '10:01:02'
select * from PS_Category

3、SQL Server的WAITFOR DELAY注入

waitfor delay用來指定等待的時間。如果將該語句成功注入后,會造成數據庫返回記錄和Web請求也會響應延遲特定的時間。由於該語句不涉及條件判斷等情況,所以容易注入成功。根據Web請求是否有延遲,滲透測試人員就可以判斷網站是否存在注入漏洞。同時,由於該語句並不返回特定內容,所以它也是盲注的重要檢測方法。
例如:

http://www.my.com/find.aspx?ID=100 WAITFOR DELAY '0:0:10'--
 
其中,WAITFOR DELAY '0:0:10'--  表示延遲10秒,再繼續執行。這樣網頁響應會延遲10秒。

4、注意

由於WAITFOR不是SQL的標准語句,所以它只適用於SQL Server數據庫。

————————————————————————————————————


免責聲明!

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



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