第45篇:weblogic反序列化漏洞绕waf方法总结,2017-10271与2019-2725漏洞绕waf防护
Part1 前言
在日常的渗透测试及各种攻防比赛项目中,waf设备的拦截是越来越厉害了,以至于很多朋友遇到weblogic 2017-10271、weblogic 2019-2725等反序列化漏洞就直接放弃。过去几年我曾帮助多位朋友绕过waf拿下权限,本期ABC_123就分享几个真正实战中用到的绕waf技巧,给大家拓展一下思路。
后续ABC_123将会继续分享weblogic系列漏洞绕waf的方法,欢迎关注本公众号“ABC123安全研究实验室”。
Part2 技术研究过程
weblogic漏洞利用
weblogic 2017-10271及2019-2725这两种漏洞的绕waf方法基本上相同,我们只需要举其中一个例子演示即可。先看一个weblogic 2019-2725漏洞利用过程,如下图所示,提交payload之后,成功执行了命令。后续绕waf过程都围绕以下这个http请求数据包展开。
添加多个反斜杠
很多waf设备对URL进行了判断,那么我们可以用如下方法试试,添加多个/////////////。下图只做演示,实际情况要添加好几倍长度的//////////才有效。
添加无用的GET请求参数
接下来我们还可以添加无意义的GET请求参数,添加username=xxxxx或者password=sdfewfwfeewffew等等。
URL编码混淆掺杂
为了进一步绕过waf,我们还可以对URL路径进行URL编码混淆掺杂,这里不要将整个url路径全部用URL编码,如下图所示,一小段一小段地进行URL编码绕waf效果更好。
请求包XML标签内掺杂脏数据
我们也可以在请求数据包中添加脏数据,可以在<wsa:RelatesTo>标签中间添加脏数据,由于是POST请求数据包,这里面可以添加很长很长的脏数据。
请求包头部添加脏数据
有的waf设备可能检测了以<soapenv:开头的请求数据包,那么我们可以在头部添加xxxxxxx脏数据,经过测试发现payload仍然是可以正常执行的。
请求数据包添加XML注释
有的waf设备可能对请求数据包进行了内容检测,这个非常难绕过,绕过方法之一,就是用XML注释掺杂的方法绕过waf设备检测。
Part3 总结
1. 上述的绕waf思路,都是我在实战中常用的,反复深度利用脏数据的同时,与其它的绕waf方法结合起来效果会更好。
2. 理解一个技术问题需要理解它的原理,然后才能举一反三。
专注于网络安全技术分享,包括红队攻防、蓝队分析、渗透测试、代码审计等。每周一篇,99%原创,敬请关注
Contact me: 0day123abc#gmail.com(replace # with @)