OWASP 对 HTML 注入页面 (链接) 的测试显示了一个特定的代码,该代码应该容易受到 HTML 注入的攻击。
<script src="../js/jquery-1.7.1.js"></script>
<script>
function setMessage(){
var t=location.hash.slice(1);
$("div[id="+t+"]").text("The DOM is now loaded and can be manipulated.");
}
$(document).ready(setMessage );
$(window).bind("hashchange",setMessage)
</script>
<body>
<script src="../js/embed.js"></script>
<span><a href="#message" > Show Here</a><div id="message">Showing Message1</div></span>
<span><a href="#message1" > Show Here</a><div id="message1">Showing Message2</div>
<span><a href="#message2" > Show Here</a><div id="message2">Showing Message3</div>
</body>
这段代码是 ( domxss.com ) 上的挑战之一,我不确定这有多脆弱。
据我了解,可以将 URL 的哈希用作输入,并且 URL 的任何更改都会触发该setMessage
功能。这个 URL 哈希将是我的有效负载。但是,此有效负载仅用作 jQuery 中的选择器,这是我碰壁的地方。
我对 XSS 比较陌生,所以任何有效载荷都会受到赞赏。一个解释显然是受欢迎的。
此外,任何通过 jQuery 更好地理解 HTML 注入攻击的资源都会很有用。