【web安全】Spring Boot eureka xstream 反序列化

本文详细介绍了Spring Boot Eureka中的一个安全漏洞,该漏洞允许攻击者通过XStream反序列化实现远程代码执行(RCE)。文章讲解了漏洞的利用条件,包括目标可出网、特定版本的eureka-client以及存在的特定依赖。此外,还提供了漏洞利用步骤,包括设置恶意payload、监听服务和刷新配置,最终导致shell反弹。最后,文章提到了修复措施,如禁用/env接口或增加鉴权,并列举了其他可能被利用的接口。
摘要由CSDN通过智能技术生成

一、漏洞概述

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服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值