Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2025-00676
- Vendor: 全聯實業
- Title: 全聯 小時達 Arbitrary File Upload leads to HTML Injection & Malicious File Hosting in Google Storage
- Introduction: 任意檔案上傳可以造成惡意檔案託管和HTML Injection
處理狀態
目前狀態
-
新提交
-
已審核
-
已通報
-
已修補
-
未複測
-
公開
處理歷程
- 2025/07/02 14:11:02 : 新提交 (由 CheN.. 更新此狀態)
- 2025/07/02 14:12:31 : 新提交 (由 CheN.. 更新此狀態)
- 2025/07/03 09:34:06 : 新提交 (由 CheN.. 更新此狀態)
- 2025/07/03 11:52:17 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/07/17 15:47:17 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/07/17 15:47:17 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/07/17 15:47:17 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/01 03:00:06 : 公開 (由 HITCON ZeroDay 平台自動更新)
- 2025/09/16 18:03:30 : 已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/09/24 03:00:03 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2025-00676
- 通報者:SamChen_696 (CheN..)
- 風險:低
- 類型:任意檔案上傳 (Arbitrary File Upload)
參考資料
漏洞說明: OWASP - Unrestricted File Upload
https://www.owasp.org/index.php/Unrestricted_File_Upload
漏洞說明: CWE-434: Unrestricted Upload of File with Dangerous Type
https://cwe.mitre.org/data/definitions/434.html
相關網址
https://image.pxgo.com.tw/pic/2025/7/2/94b5ecba240f4deea7be6e8968f14241.html
https://image.pxgo.com.tw/pic/2025/7/2/a5ebb191ab88460f979d9f765de0e6d7.zip
敘述
備註:同步通報至相關窗口
昨天發現小時達有一個蠻有趣的站點叫做 “好好吃” 可以上傳自己的烹飪相關文章,心血來潮於是順便做了一點小測試
概述
在上傳頭像跟文章圖片時會傳送一個api將使用者上傳的圖片送到儲存桶內 POST /api/attach/upload(Host: mwebapi.pxgo.com.tw)儲存至https://image.pxgo.com.tw/ 這個 Google Cloud Storage(以下簡稱 GCS),神奇的是限制檔案上傳類型只有在前端實作(應該是用accept 屬性限制)伺服器只看副檔名就決定儲存路徑,完全不檢查實際檔案格式或 MIME 代表是個很值得利用站點,只要在 Burp Suite 裡把 filename 和 Content-Type 改成任何值,無論 .html、.zip 甚至 .exe 都能上傳成功,並立即得到一條公開 URL。由於 GCS 只提供靜態檔案下載,檔案不會被後端解析或執行,因此沒有RCE的風險這點可以放心,但它仍會照上傳者指定的 MIME 回傳,瀏覽器看到 text/html 就直接渲染,看到 application/zip 就直接下載,會帶來以下問題HTML Injection,xss的相關payload 和標籤似乎都被WAF封鎖了 但還是可以插入很多一般的元素造成HTML Injection 作為釣魚用途。第二個問題是惡意檔案託管,上傳 test2.zip(內容只含test 2.txt),瀏覽器在沒有任何警示的情況下立即下載。由於pxgo.com.tw是受信任的域名 攻擊者換成真正的惡意安裝檔絕對是可利用的,民眾可能誤以為是官方檔案(HTML Injection也是相同手法)
重製步驟
-
在前端隨意挑一張圖,抓取對應 POST /api/attach/upload 請求
-
將 filename 改為 phish.html,Content-Type 改為 text/html,Body 內容替換為
<!doctype html>
<title>Login</title>
<h1>HackerOne CheN.. / HITCON Zeroday</h1>
<a href="https://samchen.blog" title="go">
<img src="http://i.imgur.com/x6AA7DKh.jpg" alt="test" width="500">
</a>
<h1>PxMart Vulnerability PoC</h1> -
送出後得到 Ex:
https://image.pxgo.com.tw/pic/2025/7/2/94b5ecba240f4deea7be6e8968f14241.html
直接訪問會顯示釣魚內容 -
同樣方法把 filename 改為 test2.zip、Content-Type 為 application/zip,Body 換成實際 zip 位元組,獲取下載連結
https://image.pxgo.com.tw/pic/2025/7/2/a5ebb191ab88460f979d9f765de0e6d7.zip
點擊便會在瀏覽器自動下載 自動解壓縮檔案。
PoC
上傳.html的完整路徑
https://image.pxgo.com.tw/pic/2025/7/2/94b5ecba240f4deea7be6e8968f14241.html
上傳.zip的完整路徑
https://image.pxgo.com.tw/pic/2025/7/2/a5ebb191ab88460f979d9f765de0e6d7.zip
影片傳至共享資料夾
影響
品牌釣魚:攻擊者能將假登入網頁、詐騙活動頁掛在 image.pxgo.com.tw,大幅提高可信度與點擊率。
惡意檔託管:任何可執行檔、巨集文件皆可透過官方網域散佈,使用者難以分辨。
修補建議
後端白名單:僅接受 image/jpeg | png | webp;拒絕 text/html、image/svg+xml、可執行與壓縮檔。