dom based xss

来源:互联网 发布:中世纪2 优化9 兵种 编辑:程序博客网 时间:2024/04/29 18:58
<script>function test(){var str=document.getElementById("text").value;document.getElementById("t").innerHTML="<a href='"+str+"'>testLink</a>"}<div id="t"></div><input type="text" id="text" value""/><input type="button" id="s" value="write" onclick="test()"/></script>
document.getElementById("t").innerHTML="<a href='"+str+"'>testLink</a>"

 这一句是关键


上面的内容实现的是 当我们点击按钮时 触发test将text文本框中的输入内容作为 testLink的超链接。

"<a href='"+str+"'>testLink</a>"
  这一句中的str就是我们输入的内容


如果我们构造如下  '  onclick=alert(/xss/)   //

那么此时内容就为

<a href='  '  onclick=alert(/xss/)// '>testLink</a>
此时click就会触发xss


或者我们构造另外一个


'> <img src=# onerror=alert(/xss2/)  /><'

新的组合形式如下

<a href=''> <img src=# onerror=alert(/xss2/)  /><''>testLink</a>显而易见,<a>标签被闭合 插入了一个新的html标签img 直接触发onerror函数 

0 0
原创粉丝点击