一、waitfor用法介紹
功能:指定觸發語句塊、存儲過程或事務執行的時間、時間間隔或事件。數據庫
語法:WAITFOR { DELAY 'time' | TIME 'time' }測試
參數:網站
DELAY:指等過了指定的時間過去後再執行SQL。spa
TIME:指等到了指定的時間點後再執行SQL。code
'time':要等待的時間。能夠按 datetime 數據可接受的格式指定 time,也能夠用局部變量指定此參數。格式爲"HH:MM:SS",不支持日期,最長可達 24 小時。blog
二、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
三、SQL Server的WAITFOR DELAY注入
waitfor delay用來指定等待的時間。若是將該語句成功注入後,會形成數據庫返回記錄和Web請求也會響應延遲特定的時間。因爲該語句不涉及條件判斷等狀況,因此容易注入成功。根據Web請求是否有延遲,滲透測試人員就能夠判斷網站是否存在注入漏洞。同時,因爲該語句並不返回特定內容,因此它也是盲注的重要檢測方法。
例如:it
http://www.my.com/find.aspx?ID=100 WAITFOR DELAY '0:0:10'--
其中,WAITFOR DELAY '0:0:10'-- 表示延遲10秒,再繼續執行。這樣網頁響應會延遲10秒。
四、注意
因爲WAITFOR不是SQL的標準語句,因此它只適用於SQL Server數據庫。
————————————————————————————————————class