首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

安全基礎:暴庫原理與手法深度解析 (2) — 虛擬目錄邊界與 conn.asp 直接暴庫

     編輯:關於SqlServer

虛擬目錄為何改變暴庫位置?

IIS 允許將網站實體目錄外的資料夾對應為虛擬目錄。解析相對路徑時,IIS 優先檢查每層目錄是否映射實體路徑,**若命中則轉為絕對路徑並停止向上解析**。

案例:三級目錄站點

https://nice.xmu.edu.cn/channely/blog%5cshowlog.asp?cat_id=31&log_id=246
→ channely 為虛擬目錄指向 H:\channely\
→ 在 blog 後插入 %5c 才能打斷虛擬目錄邊界,導致 conn.asp 解析錯誤

若在 channely 後插入 %5c,僅影響虛擬目錄解析,conn.asp 拼接的 H:\channely\blog\... 仍正確,故不暴庫。

「構造多級目錄繞過一級限制」理論失效

流傳手法:https://www.target.com/noexists/..%5clist.asp?id=1
理論分析:遇到 %5c 即停止解析,中間構造的 noexists/.. 被捨棄,相對路徑仍落在根目錄,**不會報錯**,手法失效。實測 www.om88.com 證實無法暴庫(僅圖片路徑錯誤)。

conn.asp 直接暴庫大法

  • 原理:直接請求連線檔,利用其執行目錄與預期調用目錄不一致,導致相對路徑偏移報錯
  • 最早、最通用、隨著 IIS 鎖定錯誤訊息仍具威力

動力文章系統案例

  • conn.asp 位於 /inc/
  • 調用頁(如 User_ChkLogin.asp)位於根目錄
  • conn.asp 內相對路徑:db="database/fp360609.asp"
  • 根目錄調用時正確;直接請求 /inc/conn.asp 時 → 執行目錄變為 /inc/ → 解析為 inc/database/... → 多出 inc → 報錯暴庫

雙重驗證:同一站點兩種手法對比

%5c 手法:https://www.pofen.com/sc/down%5cshow.asp?id=437
→ 錯誤路徑:D:\Webdata\pofen.com\sc\db\download.mdb(少了 down)

conn.asp 手法:https://www.pofen.com/sc/down/db/user.asp
→ 錯誤路徑:D:\Webdata\pofen.com\sc\down\db\db\download.mdb(多了 db)
兩者互補,一少一多,均因 conn.asp 非根目錄所致

進階構造思路

  • 若 conn.asp 在根目錄,可嘗試**移動調用頁**(如 chklogin.asp)而非移動 conn.asp(會癱瘓全站)
  • 本地下載頁面、修改路徑指向遠端 conn.asp、上傳執行,同樣能觸發相對路徑偏移

結語

虛擬目錄邊界決定 %5c 插入位置;conn.asp 直接請求利用執行目錄差異暴庫,兩大手法互補覆蓋大多數 ASP+Access 場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved