36

是否可以出于测试目的暂时禁用现代浏览器中的 XSS 保护?

我正在尝试向同事解释当将其发送到易受 XSS 攻击的 Web 表单时会发生什么:

<script>alert("Danger");</script>

但是,Chrome 和 Firefox 似乎都在阻止 XSS 弹出窗口。我可以禁用此保护,以便我可以完全查看我的操作的结果吗?

4

6 回答 6

27

在 Chrome 中有一个标志,您可以使用它来启动浏览器。如果你用这个标志启动浏览器,你可以做你想做的事:

--disable-web-security 
于 2012-10-17T04:37:12.253 回答
23

为了方便不知道的人......

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --args --disable-web-security

使用上面的作为快捷方式的路径

于 2013-07-08T14:45:01.573 回答
17

如果你只是不想禁用 XSS,你应该使用--disable-xss-auditor. 一个完整的论点是这样的:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-xss-auditor

确保在运行命令之前杀死所有 chrome.exe 进程,否则它将不起作用。如果您愿意,您还可以传递更多参数,例如我经常使用代理参数,因为我不想为我的整个系统启用代理。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-xss-auditor --proxy-server=127.0.0.1:8080

于 2015-11-12T11:10:30.247 回答
2

您可以在提交表单时将用户重定向到另一个本地网页并打印受感染的数据。Chrome 不会检测到这一点。

提示:您可以使用会话/cookies 在两个页面之间存储受感染的数据。

PHP 中的示例:

索引.php

<?php    
    setcookie('infected', $_POST['infected']);

    if($_POST['infected'])
        header('location: show.php');
?>

<form action="index.php" method="POST" />
    <p>
        Username: <input type="text" name="infected" />
        <input type="submit" value="Add Comment" />
    </p>
</form>

显示.php

echo $_COOKIE['data'];
于 2017-06-03T19:58:06.330 回答
1

使用禁用参数是临时的吗?在有限的测试中,它似乎是永久性的。 XSS-Auditor在没有任何 xss-auditor 参数的情况下在 Chrome 窗口中保持禁用状态。要重新打开使用“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”--enable-xss-auditor

于 2017-05-12T14:03:43.983 回答
-1

我知道这并不能解决它,但它现在可能只需要在网站上发布一条消息,直到 Google 修复它。类似“如果使用 Chrome,您可能会遇到......”。我发现即使我收到内容确实进入数据库的错误屏幕。我只是回击回到网站。然后转到仪表板,它就在那里。痛苦的是,但这是一种不需要设置站点的解决方法。

于 2017-04-07T16:07:31.263 回答