白帽子(3)- xss反射与dom攻击对比

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>

猜你喜欢

转载自blog.csdn.net/CPriLuke/article/details/108691587