记一次有意思的XSS绕过之奇葩的中文尖括号

Posted 赛克安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次有意思的XSS绕过之奇葩的中文尖括号相关的知识,希望对你有一定的参考价值。

记录一个我实战中遇到的比较有意思的XSS绕过,过滤方式比较奇葩,把">"变为了中文的尖括号">",导致插入页面的xss payload不能被浏览器解析,但是经过一番测试无意间发现了一种绕过方式,构造方法比较特殊,在这分享一下~奇葩的过滤

过滤方式如下


记一次有意思的XSS绕过之奇葩的中文尖括号




可以看到对输入的">"过滤是将变为了中文的尖括号">",这样的话浏览器在解析html标签时,由于标签无法正常闭合就会出现语法错误而导致xss payload无法被浏览器解析执行,加上页面可以利用的输出点只有这一个位置并且在DOM的文本节点,所以在构造xss的时候符号">"是必不可少的bypass,绕过其实也很简单,构造payload如下

记一次有意思的XSS绕过之奇葩的中文尖括号




这一点的构造思路正是用到了中文尖括号">"在浏览器解析时不能被浏览器识别的特点,这样的话会被浏览器当成img标签的src属性的属性值,也就是一个错误的图片资源,导致后面span标签的逃逸,于是span标签的闭合了img标签,xss payload执行








以上是关于记一次有意思的XSS绕过之奇葩的中文尖括号的主要内容,如果未能解决你的问题,请参考以下文章

XSS绕过实战练习

记一次中间件导致的慢SQL排查过程

解Bug之路-记一次中间件导致的慢SQL排查过程

渗透技巧XSS三重URL编码绕过实例

渗透测试之XSS漏洞:记一次模拟注入攻击

一个绕过某SRC厂商三处XSS过滤的payload