5

Refused to execute a JavaScript script. Source code of script found within request.在 Chrome上发布包含域名称的数据后出现错误(另请注意任一页面上都缺少 javascript)。

坏页1.html

<form action="/badpage2.html" method="post">
<input type="hidden" name="name" value="href=%22http://www.w3.org/%22"/>
<input type="submit" name="submit"/>
</form>

坏页2.html

<!DOCTYPE html>
<html>
    <head>
        <base href="http://www.w3.org/"/>
    </head>
    <body>
        <img src="Icons/w3c_home" alt="">
    </body>
</html>

如果你直接去badpage2.html图像会显示,但如果你通过 去它badpage1.html,图像将不会显示(基本标签不起作用)。

这是 Chrome XSS 检测中的错误吗?如果不是,我将如何绕过这个?仅仅为了绕过这个过滤器而对发布的数据进行编码似乎很愚蠢。

编辑:

就我而言,发送的帖子值是更新页面的部分内容。如果它包含恰好包含在(如本示例中那样)中使用的域名,则会出现问题<base>,它将触发禁用<base>标签的 XSS 检测。

4

1 回答 1

3

我发现我可以在X-XSS-Protection由于保护而混乱的页面上发送自定义 HTTP 标头。

我将以下代码用于我的 PHP 解决方案:

header( "X-XSS-Protection: 0" );
于 2012-03-02T19:57:12.063 回答