一个有趣的xss绕过过程

Posted 邑安全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个有趣的xss绕过过程相关的知识,希望对你有一定的参考价值。

更多全球网络安全资讯尽在邑安全

www.eansec.com


最近在对客户的一个网站进行渗透时,发现了一个有趣的xss。如下图所示:

当使用<script>标签时发现被移除,如下图所示:

一个有趣的xss绕过过程

尝试使用<scriPt>标签字母大小写绕过,发现还是被移除。如下图所示:

一个有趣的xss绕过过程

进一步使用233">alert(233)payload测试发现alert字符可以正常显示,但是()圆括号被html实体化编码了。如下图所示:

一个有趣的xss绕过过程

于是尝试使用img标签但是在测试时发现img标签的src属性也被过滤,如下图所示:

一个有趣的xss绕过过程

最后尝试使用<svg>标签,利用<svg>标签的onload属性进行加载,如下图所示:

一个有趣的xss绕过过程

但是当添加=时,发现/onload=被替换为空,如下图所示:

一个有趣的xss绕过过程

于是想到对=进行两次url编码但是发现同样还是被过滤,进一步测试发现当对=进行三次url编码时,即可看到页面正常输出,如下图所示:

一个有趣的xss绕过过程

于是构造如下的payload:233"><svg/onload%25%32%35%25%33%33%25%36%34alert(233)>,查看页面响应,发现()已经被服务器进行html实体编码,但由于该实体编码位于<svg>标签中,故可直接进行测试(因为<svg>标签中可直接执行实体字符),当然此处也可使用:
233"><svg/onload%25%32%35%25%33%33%25%36%34alert233>,这个payload进行测试。如下图所示:

一个有趣的xss绕过过程

可看到成功得到一枚xss,如下图所示:

转自先知社区

欢迎收藏并分享朋友圈,让五邑人网络更安全

欢迎扫描关注我们,及时了解最新安全动态、学习最潮流的安全姿势!

推荐文章

1

2


以上是关于一个有趣的xss绕过过程的主要内容,如果未能解决你的问题,请参考以下文章

一则有趣的XSS WAF规则探测与绕过

Chrome SVG标签绕过(XSS)

记录一次有意思的XSS过滤绕过2

(2020上半年第18天第19天第20天合集(上传-实例测试上传-WAF绕过XSS跨站-原理分析)之演示③xss跨站实战演示)小迪网络安全笔记

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

XSS 绕过技术