Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2026-00490
- Vendor: 情趣用品界第一把交椅
- Title: 情趣用品界第一把交椅 E大 結帳流程備註(remark)欄位儲存型跨站腳本攻擊(Stored XSS)
- Introduction: 欄位未對使用者輸入進行 HTML 編碼,攻擊者可在正常購物下單時注入惡意 JavaScript,該 payload 會儲存至資料庫並在購買記錄頁面及管理後台訂單詳情中觸發,可竊取管理員 Session 或執行任意操作。
- 獎勵金
處理狀態
目前狀態
公開
Last Update : 2026/04/25
-
新提交
-
已審核
-
已通報
-
已修補
-
已複測
-
公開
處理歷程
- 2026/04/02 15:23:39 : 新提交 (由 Marco 更新此狀態)
- 2026/04/02 15:23:57 : 新提交 (由 Marco 更新此狀態)
- 2026/04/07 22:44:35 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 18:34:04 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 18:34:04 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/09 18:34:04 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2026/04/21 13:44:37 : 複測申請中 (由 組織帳號 更新此狀態)
- 2026/04/21 20:09:12 : 確認已修補 (由 Marco 更新此狀態)
- 2026/04/25 03:00:10 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2026-00490
- 通報者:mlgzackfly (Marco)
- 風險:高
- 類型:預存式跨站腳本攻擊 (Stored Cross-Site Scripting)
參考資料
攻擊者可經由該漏洞竊取使用者身份,或進行掛碼、轉址等攻擊行為。
漏洞說明: OWASP - Cross-site Scripting (XSS)
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
防護原則:
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
XSS 防禦繞過方式:
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
漏洞說明: OWASP - Cross-site Scripting (XSS)
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
防護原則:
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
XSS 防禦繞過方式:
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://erotogenic.com.tw/checkout3_sure.php
https://erotogenic.com.tw/user02.php
https://erotogenic.com.tw/user02.php
敘述
漏洞概述
erotogenic.com.tw 的結帳確認功能(checkout3_sure.php)接受 POST 參數 remark(備註)並將其儲存至訂單資料庫。當使用者瀏覽購買記錄頁面(user02.php)時,備註內容會被直接嵌入到訂單列表的 <td> 標籤中,且未對 HTML 特殊字元進行任何編碼處理。
這使得攻擊者可以在備註欄位中注入任意 HTML 和 JavaScript,實現儲存型 XSS。
此漏洞的影響範圍特別嚴重:
- 攻擊者只需正常下單即可注入 XSS payload(無需任何額外攻擊手法)
- 管理員必須查看訂單,因此 XSS 必然會被觸發
- 可用於竊取管理員 Session 或執行管理後台操作
重現步驟 (Steps to Reproduce)
- 使用任意帳號登入 erotogenic.com.tw
- 將任意商品加入購物車
- 進入結帳流程,填寫收件資訊(
checkout2.php→checkout3.php) - 在選擇繳費方式頁面,使用瀏覽器開發工具或攔截器(如 Burp Suite)修改 POST 請求,在
remark欄位注入 XSS payload:
POST /checkout3_sure.php HTTP/2
Host: erotogenic.com.tw
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=<your_session>
checkout_type=ATM&name=測試&phone=0912345678&[email protected]&address=台北市&st_addr=&remark=<img src=x onerror=alert(document.domain)>
- 前往購買記錄頁面:
https://erotogenic.com.tw/user02.php - 觀察瀏覽器彈出 alert 視窗
原始碼分析
注入後,user02.php 訂單列表中的 HTML 原始碼:
<td>尚未付款</td>
<td><img src=x onerror=alert("admin_xss")></td>
<td>
<a href="https://...
可以看到:
<img>標籤未經任何編碼,直接寫入 DOMonerror事件處理器在圖片載入失敗時自動觸發- 不需要使用者任何互動即可觸發 XSS
影響 (Impact)
- 管理員帳號接管:攻擊者可透過 XSS 竊取管理員的 Session Cookie,接管管理後台
- 批量資料竊取:透過管理後台存取所有用戶的個人資料(姓名、地址、電話、Email)及訂單記錄
- 供應鏈攻擊:攻擊者可修改管理後台中的商品資訊、價格或收款設定
- 無需特殊權限:任何已註冊用戶透過正常購物流程即可發動攻擊
- 必然觸發:管理員日常管理訂單時必然查看訂單列表,XSS 無法迴避
與其他漏洞的差異
此漏洞與先前通報的 nickname/name 欄位 XSS 不同:
| 比較項目 | nickname/name XSS | remark XSS(本漏洞) |
|---|---|---|
| 注入位置 | 個人資料維護 | 結帳備註欄位 |
| 觸發位置 | 個人頁面 / 導航列 | 訂單列表 / 管理後台 |
| 影響對象 | 自身 + CSRF 受害者 | 管理員 |
| 注入方式 | 需修改個人資料 | 正常購物流程 |
| 嚴重程度 | High | High(可攻擊管理員) |
安全測試備註
測試過程中產生了以下未付款訂單(皆為「尚未付款」狀態,無實際金流),煩請站長協助從後台刪除:
| 訂單日期 | 訂單編號 | 狀態 | 備註內容 |
|---|---|---|---|
| 2026-04-02 | 202604021515502735 | 尚未付款 | (空白) |
| 2026-04-02 | 202604021516358232 | 尚未付款 | (空白) |
| 2026-04-02 | 202604021516369972 | 尚未付款 | (空白) |
| 2026-04-02 | 202604021516367318 | 尚未付款 | SQLi 測試 payload |
| 2026-04-02 | 202604021516369111 | 尚未付款 | SQLi 測試 payload |
測試帳號:[email protected]
以上訂單均未實際付款,僅為安全測試用途。
修補建議
1. 輸出編碼:在 user02.php 及管理後台顯示訂單備註時,使用 htmlspecialchars() 進行 HTML 實體編碼
2. 輸入過濾:在 checkout3_sure.php 接收備註內容時,過濾或移除 HTML 標籤
3. Content Security Policy:加入 CSP Header 限制 inline script 執行
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。