全聯 小時達 Arbitrary File Upload leads to HTML Injection & Malicious File Hosting in Google Storage - HITCON ZeroDay

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

處理狀態

目前狀態

公開
Last Update : 2025/09/24
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 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://mwebapi.pxgo.com.tw/api/attach/upload
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也是相同手法)
圖片

重製步驟

  1. 在前端隨意挑一張圖,抓取對應 POST /api/attach/upload 請求

  2. 將 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>
    圖片

  3. 送出後得到 Ex:
    https://image.pxgo.com.tw/pic/2025/7/2/94b5ecba240f4deea7be6e8968f14241.html
    直接訪問會顯示釣魚內容
    圖片

  4. 同樣方法把 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、可執行與壓縮檔。

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;