查看原文
其他

Java反序列化回显学习(一)

zhangy1da Tide安全团队 2023-04-27

前言

在测试某反序列化漏洞,可以通过URLDNS链确定漏洞是否存在但在利用时遇到了困难,相关利用链可以执行系统命令却无法得到回显。
因此需要在此基础修改利用链达到命令回显得目的,下边记录的即是此次修改的过程。

Java反序列化回显方法

根据搜索到的资料给出的常见回显方法有以下几种:1、报错回显:要求服务器将报错信息打印到页面。2、写文件:把执行结果写入静态文件置于web目录下再读取结果。3、DNSLOG回显:通过DNSLOG将执行结果带出(未实现)。4、中间件回显:获取response对象,结果写入response对象中带出。5、.....

报错回显

此法要求服务器将报错信息打印出来,修改要反序列化执行的Java代码将结果写入异常再抛出即可实现。

写文件回显

同样修改yso中Gadgets要执行的java代码即可实现,通过将执行结果写入web目录下的静态文件再读取来实现。此法的缺点是当目标不存在可访问静态web目录便无法使用了且要获取web目录的绝对路径,更适用于已知开发框架的反序列化漏洞利用。

DNSLOG

一般作为检测反序列化漏洞是否存在用,贴出URLDNS Gadget的验证过程。

中间件回显

中间件回显是目前所有反序列化工具中最为通用的方法,相比于上述的方法中间件回显有不需目标出网、没有目录限制等优势。中间件回显的原理简单来说是在运行的中间件中获取request&response对象,通过request对象获取执行参数等后将执行结果写入response对象带出完成回显。已知目标中间件为tomcat,参考feihong师傅公开的tomcat全版本回显测试代码来修改yso代码实现利用。Tomcat回显代码:

修改yso payload代码:
修改yso Gadgets代码:
实现回显:

总结

由于本菜鸡学习Java的路程不是很系统,在很多地方卡壳严重,还好最终实现了相关exp的编写。最后,感谢文中所用代码和知识的作者师傅们。

参考

https://www.cnblogs.com/nice0e3/p/14945707.html

往期推荐

敏感信息泄露

潮影在线免杀平台上线了

自动化渗透测试工具开发实践

【红蓝对抗】利用CS进行内网横向

一个Go版(更强大)的TideFinger

SRC资产导航监测平台Tsrc上线了

新潮信息-Tide安全团队2022年度总结

记一次实战攻防(打点-Edr-内网-横向-Vcenter)

E

N

D


知识星球产品及服务

团队内部平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ......


星球分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享


星球知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......


星球网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ......

扫码加入一起学习吧~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存