SpringBoot-Eureka-xstream-rce
actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块。其提供的执行器端点分为两类:原生端点和用户自定义扩展端点,原生端点主要有:
漏洞利用
1.利用trace,获取认证信息(Cookie、tooken、Session),利用认证信息访问接口
http://localhost:9093/trace
访问/trace端点获取基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等),如果存在登录用户的操作请求,可以伪造cookie进行登录。
2.利用env加refresh进行getshell
http://localhost:9093/env
访问/env端点获取全部环境属性,由于 actuator 会监控站点 mysql、mangodb 之类的数据库服务,所以通过监控信息有时可以mysql、mangodb 数据库信息,如果数据库正好开放在公网,那么造成的危害是巨大的
/env端点配置不当造成RCE
利用条件:
- 可以 POST 请求目标网站的
/env
接口设置属性 - 可以 POST 请求目标网站的
/refresh
接口刷新配置(存在spring-boot-starter-actuator
依赖) - 目标使用的
eureka-client
< 1.8.7(通常包含在spring-cloud-starter-netflix-eureka-client
依赖中) - 目标可以请求攻击者的 HTTP 服务器(请求可出外网)
因为自己搭建的靶场环境一直复现失败,决定直接实战,搜索
app="Eureka-Server"
爬取ip,访问/env路径,若返回状态码为200则可能成功,可以写批量exp的脚本
接下来对我们搜集的ip测试是否出网