一个有趣的xss绕过过程
Posted 邑安全
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个有趣的xss绕过过程相关的知识,希望对你有一定的参考价值。
更多全球网络安全资讯尽在邑安全
www.eansec.com
最近在对客户的一个网站进行渗透时,发现了一个有趣的xss。如下图所示:
当使用<script>
标签时发现被移除,如下图所示:
尝试使用<scriPt>
标签字母大小写绕过,发现还是被移除。如下图所示:
进一步使用233">alert(233)payload
测试发现alert
字符可以正常显示,但是()
圆括号被html实体化编码了。如下图所示:
于是尝试使用img
标签但是在测试时发现img
标签的src
属性也被过滤,如下图所示:
最后尝试使用<svg>
标签,利用<svg>
标签的onload
属性进行加载,如下图所示:
但是当添加=
时,发现/onload=
被替换为空,如下图所示:
于是想到对=
进行两次url编码但是发现同样还是被过滤,进一步测试发现当对=
进行三次url编码时,即可看到页面正常输出,如下图所示:
于是构造如下的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%34alert
233>
,这个payload进行测试。如下图所示:
可看到成功得到一枚xss,如下图所示:
转自先知社区
推荐文章
1
2
以上是关于一个有趣的xss绕过过程的主要内容,如果未能解决你的问题,请参考以下文章
(2020上半年第18天第19天第20天合集(上传-实例测试上传-WAF绕过XSS跨站-原理分析)之演示③xss跨站实战演示)小迪网络安全笔记