一、漏洞概述
Eureka 是 Spring Cloud Netflix 模块的子模块,它是 Spring Cloud 对 Netflix Eureka 的二次封装,主要负责 Spring Cloud 的服务注册与发现功能,开发人员只需引入相关依赖和注解轻松将 Spring Boot 与 Eureka 进行整合。
安全人员(Michael Stepankin)发现,服务注册与发现功能可能被滥用,当 eureka.client.serviceUrl.defaultZone 属性被设置为恶意的外部 eureka server URL地址并/refresh 触发目标机器请求远程 URL,提前架设的 fake eureka server 就会返回恶意的 payload。目标机器解析 payload,触发 XStream 反序列化,造成 RCE 漏洞。
二、利用条件
1.目标可出网
2.目标使用的 eureka-client < 1.8.7(存在 spring-cloud-starter-netflix-eureka-client 依赖)
3.可用 POST 方式请求目标网站的 /env 接口,并设置zone属性
4.可用 POST 方式请求目标网站的 /refresh 接口刷新配置(存在 spring-boot-starter-actuator 依赖)
三、漏洞环境
Web服务器:Windows Server 2012, JDK8u131 (1.13.190.222)
VPS: Ubuntu 16.04.7 LTS (162.14.73.205)
四、正常访问
访问URL: http://1.13.190.222:64000/env , 得到一些json格式的敏感数据。
五、漏洞利用
【私信回复“资料”获取】
1、网络安全学习路线
2、电子书籍(白帽子)
3、安全大厂内部视频
4、100份src文档
5、常见安全面试题
6、ctf大赛经典题目解析
7、全套工具包
8、应急响应笔记
提前在VPS服务器准备相关文件和监听服务,利用VPS python起的fake server 串联调用执行代码。
Web服