漏洞简介:
Spring Security OAuth 是为 Spring 框架提供安全认证支持的一个模块,其维护者发布了这样一个升级公告,主要说明在用户使用Whitelabel views
来处理错误时,攻击者在被授权的情况下可以通过构造恶意参数来远程执行命令。
Spring Security OAuth 支持使用标准 Spring 和 Spring Security 编程模型和配置习惯用法与 OAuth (1a) 和 OAuth2 一起使用 Spring Security。在使用白标签视图进行错误处理时,远程攻击者可以通过 Springs 表达式语言 (SpEL) 构造恶意参数来执行命令。
影响版本:
Spring Security OAuth 1.0.0到1.0.5
Spring Security OAuth 2.0.0到2.0.9
Spring Security OAuth 2.0到2.0.14
Spring Security OAuth 2.1到2.1.1
Spring Security OAuth 2.2到2.2.1
Spring Security OAuth 2.3到2.3.2
漏洞原理:
实验原理是该版本的Spring的一个错误页面,存在参数获取未进行过滤,导致可以直接对服务器执行系统权限。这个漏洞的触发点是对用户传的参数的递归解析,从而导致SpEL注入。
漏洞复现:
靶机:192.168.8.9
攻击机:192.168.8.11
打开环境:
cd /home/ch1/Desktop/vulhub-master/spring