发布后忽略基本标签

2024-05-07

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

badpage1.html http://pastehtml.com/view/bp5uczv6h.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>

badpage2.html http://pastehtml.com/view/bp5uauhop.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 检测中的错误吗?如果不是,我该如何绕过这个?对发布的数据进行编码以绕过此过滤器似乎很愚蠢。

EDIT:

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


我发现我可以发送自定义 HTTP 标头X-XSS-Protection http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Common_non-standard_response_headers由于保护而被弄乱的页面。

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

header( "X-XSS-Protection: 0" );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发布后忽略基本标签 的相关文章