0

要测试 xss 攻击,我有以下代码:

<html>
    <head><title>test xss</title></head>
    <body>
       <input type="text" id="my_user_name_show" value="">
       <script>
           var s = '"/><script>alert(\'xss\');</script><br class="';
           document.getElementById('my_user_name_show').value= s;
       </script>
    </body>
</html>

为什么代码不能触发警报(xss)?

4

1 回答 1

0

当实际的HTML改变时,必须从后端触发对输入表单值的 XSS 攻击,从而导致

 <input type="text" id="my_user_name_show" value=""/>
 <script>alert('xss');</script>
 <br class="">

要写入,这显然会导致它触发警报。另一方面,您的代码只会导致

<input type="text" id="my_user_name_show" value="\"/><script>alert('xss');</script><br class=\"">

被放置在 DOM 中,因此不会引起任何警报,因为没有脚本元素被添加到 DOM 中。

于 2013-04-02T10:01:34.560 回答