淡江大學 教學資料與圖書館學 Reflected XSS - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2024-01169
  •  發信 Vendor: 淡江大學
  • Title: 淡江大學 教學資料與圖書館學 Reflected XSS
  • Introduction: 反射型 XSS 漏洞

處理狀態

目前狀態

公開
Last Update : 2024/11/19
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 已複測
  • 公開

處理歷程

  • 2024/09/24 23:41:37 : 新提交 (由 CheN.. 更新此狀態)
  • 2024/09/24 23:43:29 : 新提交 (由 CheN.. 更新此狀態)
  • 2024/09/24 23:45:57 : 新提交 (由 CheN.. 更新此狀態)
  • 2024/09/24 23:48:08 : 新提交 (由 CheN.. 更新此狀態)
  • 2024/09/25 17:29:06 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:51:47 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:51:47 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/10/10 15:51:47 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2024/11/14 13:39:19 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2024/11/15 23:00:54 : 確認已修補 (由 CheN.. 更新此狀態)
  • 2024/11/19 03:00:06 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2024-01169
  • 通報者:SamChen_696 (CheN..)
  • 風險:低
  • 類型:反射型跨站腳本攻擊 (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
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

http://joemls.dils.tku.edu.tw/%E6%9C%9F%E5%88%8A%E7%9B%AE%E6%AC%A1/%E6%9C%9F%E5%88%8A%E6%96%87%E7%AB%A0%E5%88%97%E8%A1%A8/?searchId=%3Csvg+width%3D%22100%22+height%3D%22100%22+style%3D%22background-color%3Ared%3B%22+onmouseover%3D%22alert%281%29%22%3E%3C%2Fsvg%3E&isSearch=1

敘述

發現方式

其實一開始是意外發現我們學校有這個站點 想說找一些不錯的期刊來閱讀 發現網站有檢索搜尋功能 心血來潮測試一下 Reflected XSS
圖片

首先嘗試了標準的 <script>alert('XSS')</script>,結果不出所料,網站做了基本的防護,過濾掉了語句。剛好順便練一下自己繞過防護能力,於是試了幾個變體,如:

"><script>alert('XSS')</script>
'><img src=x onerror=alert(1)>
<input type="text" value="default" onfocus="alert('XSS')">

但網站依然防護得不錯,正確地過濾了這些測試。直到嘗試 <svg onload=alert(1)> 時,發現頁面中出現了一小片空白區域。
圖片
F12 檢查後,看到該區域顯示為 <svg onload="alert(1)"></svg>,不過並沒有觸發 alert 彈窗。
圖片

於是繼續修改,把代碼變成:<svg width="100" height="100" style="background-color:red;" onmouseover="alert(1)"></svg>
終於 有顯眼的標籤區域 鼠標移至上面時 出現彈窗 成功繞過過濾機制!
圖片

By the way

當我輸入 <script>alert('XSS')</script> 時,網站還額外返回了一段奇怪的訊息:

'} }, '*'); }, 300); }); // 註冊訊息事件監聽,對來自 myIframe 框架的訊息進行處理 // window.addEventListener('message', function(e){ // if (e.data.act == 'article') { // alert(e.data.msg.subject); // // 向父窗框返回響應結果 // } else { // alert('未定義的訊息: '+ e.data.act); // } // }, false);

圖片

修補建議

加強對輸入內容的驗證和過濾機制,尤其是對 <svg> 等非標準 HTML 元素的防護,防止通過事件屬性(如 onmouseover)觸發惡意腳本。

擷圖

留言討論

聯絡組織

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