安全矩阵

 找回密码
 立即注册
搜索
查看: 2425|回复: 0

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

[复制链接]

991

主题

1063

帖子

4319

积分

论坛元老

Rank: 8Rank: 8

积分
4319
发表于 2022-1-23 09:18:08 | 显示全部楼层 |阅读模式
原文链接:实战 | 记一次有趣的客户端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 总结
坚持一下,守得云开见月明,漏洞就在眼前~



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 19:27 , Processed in 0.014792 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表