Vulnerability Detail Report
Vulnerability Overview
- ZDID: ZD-2024-00800
- Vendor: 巨石創意有限公司
- Title: 分享日生活 訊息提示 reflected xss
- Introduction: 訊息提示使用 msg 參數作為內容直接嵌入未過濾,具 reflect xss 漏洞,且 session 未設定 HTTPOnly
處理狀態
目前狀態
公開
Last Update : 2024/09/15
-
新提交
-
已審核
-
已通報
-
未回報修補狀況
-
未複測
-
公開
處理歷程
- 2024/07/16 16:23:50 : 新提交 (由 ywc 更新此狀態)
- 2024/07/16 16:26:40 : 新提交 (由 ywc 更新此狀態)
- 2024/07/20 00:23:44 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/08/12 17:08:19 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/08/12 17:08:19 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/08/12 17:08:20 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
- 2024/09/15 03:00:02 : 公開 (由 HITCON ZeroDay 平台自動更新)
詳細資料
- ZDID:ZD-2024-00800
- 通報者:ywc (ywc)
- 風險:中
- 類型:反射型跨站腳本攻擊 (Reflected Cross-Site Scripting)
參考資料
攻擊者可經由該漏洞竊取使用者身份,或進行掛碼、轉址等攻擊行為。
漏洞說明: OWASP - Cross-site Scripting (XSS)
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
防護原則: OWASP - XSS (Cross Site Scripting) Prevention Cheat Sheet
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
防禦繞過方式: OWASP - XSS Filter Evasion Cheat Sheet
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)
防護原則: OWASP - XSS (Cross Site Scripting) Prevention Cheat Sheet
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
防禦繞過方式: OWASP - XSS Filter Evasion Cheat Sheet
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)
相關網址
https://sharingday.com.tw/login.php
https://sharingday.com.tw/login.php?msg=登入失敗
https://sharingday.com.tw/login.php?msg=%27);alert(document.cookie);</script>
https://sharingday.com.tw/login.php?msg=登入失敗
https://sharingday.com.tw/login.php?msg=%27);alert(document.cookie);</script>
敘述
在首頁中發現有會員登入頁面
隨意輸入帳號密碼 (e.g. aaa/aaa),會彈出登入失敗視窗,可發現訊息內容似乎與參數 msg 相同,推測後端程式是直接把參數內容嵌入
嘗試輸入單引號,發現沒有彈出應該要彈出的 alert 訊息,而觀察開發人員工具 console 頁籤輸出可發現 javascript 執行上出現問題,而在開發人員工具 element 頁籤中可看到出問題的地方是一個 alert 且中間有 3 個單引號,推測後端程式碼邏輯應該是直接把 msg 參數內容嵌入進 HTML 的 alert 函式中
此外在開發人員工具 application -> cookie 的頁籤中可觀察到重要的 session 沒有加上 HTTPOnly 屬性,代表可以用 javascript 讀取 session 資訊
建構 XSS payload ');alert(document.cookie);</script> 塞入 msg 參數中,發現除了第一次閉合掉的 alert 會彈出訊息之外,後續又彈出含有 session 資訊的 alert 訊息,顯示具有 reflected xss 漏洞
由於該網站有會員功能且未設定 session HTTPOnly 功能,攻擊者可構造 payload 誘騙使用者造訪連結,透過 javascript 竊取使用者 session,取得使用者登入身分
修補建議
設定 session 的 HTTPOnly 屬性
過濾 msg 參數
關閉不必要的提示訊息
使用 WAF 或 CSP 等工具進行防禦
擷圖
留言討論
登入後留言
聯絡組織
發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。