Spring Boot 配置不当而暴露的路由¶
一、漏洞简介¶
主要是因为程序员开发时没有意识到暴露路由可能会造成安全风险,或者没有按照标准流程开发,忘记上线时需要修改/切换生产环境的配置
二、漏洞影响¶
三、复现过程¶
路由知识¶
- Spring Boot 1.x 版本默认内置路由的根路径以
/
开始,2.x 则统一以/actuator
开始 - 有些程序员会自定义
/manage
、/management
或 项目相关名称 为根路径 - 默认内置路由名字,如
/env
有时候也会被程序员修改,如修改成/appenv
<!-- -->
其中对寻找漏洞比较重要接口的有:
/env
、/actuator/env
<!-- -->
/env
会泄露环境变量信息,或者配置中的一些用户名,当程序员的属性名命名不规范
(例如 password 写成 psasword、pwd) 时,会泄露密码明文;
同时有一定概率可以通过 POST 请求 `/env` 接口设置一些属性,触发相关
RCE 漏洞。
<!-- -->
/jolokia
<!-- -->
/jolokia/list
接口寻找可以利用的 MBean,触发相关 RCE 漏洞;
<!-- -->
/trace
<!-- -->