TongWeb ejbserver 反序列化漏洞分析 | Le1a的菜园坝
一个NotionNext搭建的博客
第一时间在le1a大哥的带领下复现了这个漏洞,但在最终利用的过程中遇到很多问题,yinsel师傅的博客里面记录并解决了很多问题
./Install_TW7.0.4.x_Enterprise_Linux.bin,一直回车即可,然后将license.dat文件放在安装的TongWeb7.0 目录下 license.dat 文件过期,需要修改时间为下面的标准:
com.tongweb.tongejb.server.httpd.ServerServlet.class 

/applications/heimdall/WEB-INF/web.xml里面找到了url映射
ServerServlet对应的类为:com.tongweb.tongejb.server.httpd.ServerServlet
ServerServlet类后,重点看处理请求的方法 com.tongweb.tongejb.server.httpd.ServerServlet#servicecom.tongweb.tongejb.server.ejbd.EjbServer#service,这个里面的service调用了this.server.service(inputStream, outputStream);
com.tongweb.tongejb.server.ejbd.EjbDaemon#service
com.tongweb.tongejb.client.ProtocolMetaData 这个类主要初始化以及配置客户端的协议头

OEJP/x.x ,客户端的输入流才能被服务端反序列化,否则,会在服务端反序列化前异常退出writeExternal和readExternal 内容被置空,所以可以不需要这8个字节的协议头了
com.tongweb.tongejb.client.ServerMetaData 这个类
this.locations = (URI[])in.readObject(); 这个sink点就是 360 发的漏洞公告截图没有回显的sink点



com.tongweb.tongejb.server.ejbd.EjbDaemon#service 方法的下面还有一段处理requestType的代码
this.processEjbRequest
this.ejbHandler.processRequest(in, metaData);EjbRequestHandler类,这个类继承了这个抽象类
EjbRequestHandler这个处理 EJB 请求的类
req.readExternal(in); 就找到了第二个sink点
locations,也就是URI[]类型的数组
com.tongweb.serializer.kryo.io.BlacklistClassResolver
.png?table=block&id=2cbb67db-fc9a-807a-b8f1-d1471f190039&t=2cbb67db-fc9a-807a-b8f1-d1471f190039)







TongWeb ejbserver 反序列化漏洞分析 | Le1a的菜园坝
一个NotionNext搭建的博客

TongWeb EJB 反序列化漏洞 | YinselのBlog
TongWeb EJB 反序列化漏洞 声明 本文版权归原作者所有,未经允许禁止转载。 2025 年 11 月 13 日爆出的漏洞,手上有环境和源码,并且朋友第一时间透露了利用链的信息,于是便尝试复现并分析,记录下来。 漏洞原理 TongWeb ejb 服务没有校验请求的数据,直接对来源的数据进行反序列化,而默认情况下,http 服务(8088 端口) /ejbserver/ejb 接口会转发至 ejb 服务(5100 端口)的相同接口,攻击者可发送特定的数据包,造成反序列化漏洞,其中可利用的反序列化链主要有: # 7.0.4.2 可用, 7.0.4.9黑名单 BadAttributeValue...
GitHub - ReaJason/MemShellParty: 一款专注于 Java 主流 Web 中间件的内存马快速生成工具,致力于简化安全研究人员和红队成员的工作流程,提升攻防效率
一款专注于 Java 主流 Web 中间件的内存马快速生成工具,致力于简化安全研究人员和红队成员的工作流程,提升攻防效率 - ReaJason/MemShellParty
GitHub - vulhub/java-chains: Java Vulnerability Exploitation Platform
Java Vulnerability Exploitation Platform. Contribute to vulhub/java-chains development by creating an account on GitHub.
GitHub - tabby-sec/tabby: A CAT called tabby ( Code Analysis Tool )
A CAT called tabby ( Code Analysis Tool ). Contribute to tabby-sec/tabby development by creating an account on GitHub.