國立清華大學Script標籤內使用GET參數造成Cross Site Scripting - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2017-01048
  •  發信 Vendor: 國立清華大學
  • Title: 國立清華大學Script標籤內使用GET參數造成Cross Site Scripting
  • Introduction: 將GET參數使用於script標籤內造成XSS

處理狀態

目前狀態

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

處理歷程

  • 2017/11/13 14:01:20 : 新提交 (由 ZoneTwelve 更新此狀態)
  • 2017/11/13 14:16:46 : 新提交 (由 ZoneTwelve 更新此狀態)
  • 2017/11/13 17:00:10 : 新提交 (由 ZoneTwelve 更新此狀態)
  • 2017/11/13 17:07:39 : 新提交 (由 ZoneTwelve 更新此狀態)
  • 2017/11/13 22:51:41 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/11/17 09:45:19 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/11/17 09:45:20 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/11/21 07:47:24 : 已修補 (由 組織帳號 更新此狀態)
  • 2017/11/21 08:53:42 : 修補中 (由 組織帳號 更新此狀態)
  • 2017/11/21 09:33:57 : 已修補 (由 組織帳號 更新此狀態)
  • 2017/11/21 23:45:26 : 確認已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/11/25 03:00:19 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2017-01048
  • 通報者:ZoneTwelveHacker (ZoneTwelve)
  • 風險:低
  • 類型:反射型跨站腳本攻擊 (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://adms-web.vm.nthu.edu.tw/107BX/Error.php?msg=%27;alert(1);//

http://adms-web.vm.nthu.edu.tw/107BX/Error.php?msg=%27;alert(1);var%20t%20=%20document.createElement("h1");t.innerHTML%20=%20"XSS,%20by.ZoneTwelve";document.body.appendChild(t);//

payload >> ';alert(1);var t = document.createElement("h1");t.innerHTML = "XSS, by.ZoneTwelve";document.body.appendChild(t);//

敘述

將GET參數當作script標籤內容,進而造成可任意編寫script且不會遭到現代瀏覽器過濾

可以使用該功能隨意刪除其他報名的同學所上傳的資料或竊取個人帳號密碼

修補建議

不直接將GET參數套用於Script標籤
可能可以使用其他標籤再取該標籤內容作為宣告字串之方法
example:
<p id="msg">filter($msg)</p>
<script>
var msg = document.querySelector("#msg").innerText;
if(alert!='')
alert(msg);
</script>

擷圖

留言討論

聯絡組織

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