zoukankan      html  css  js  c++  java
  • 漏洞复现-Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)

    漏洞原理

    Spring Security OAuth2处理认证请求的时候如果使用了whitelabel视图,response_type参数值会被当做Spring SpEL来执行,恶意攻击者通过构造response_type值可以触发远程代码执行漏洞 

    复现环境

    在ubuntu 16.04虚拟机中用vulhub靶场提供的docker容器来复现

    jdk版本1.7

    python版本3.5

    影响版本

    Spring Security OAuth 2.3到2.3.2

    Spring Security OAuth 2.2到2.2.1

    Spring Security OAuth 2.1到2.1.1

    Spring Security OAuth 2.0到2.0.14

    复现过程

    1. 进入vulhub目录:spring/CVE-2016-4977,启动docker容器

    2. 对反弹shell的POC进行base64编码(java反弹shell都需要先编码,不然不会成功,原因貌似是runtime不支持管道符)

    3. 用vulhub提供的poc.py生成反弹shell的POC:

    4. 监听反弹端口,并访问下面的url:

    http://your-ip:8080/oauth/authorize?response_type=上面的那一长串POC&client_id=acme&scope=openid&redirect_uri=http://test

    反弹成功,从返回页面来看,这里实际上是利用抛出的错误消息来执行恶意代码的,漏洞代码的位置应该在内部错误处理的代码中。

    本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

  • 相关阅读:
    16款值得一用的iPhone线框图模板 (PSD & Sketch)
    设计神器
    {CF812}
    hiho1080(多标记线段树)
    {容斥原理}
    {dp入门}
    {AC自动机}
    CF807
    Trie树
    杂记
  • 原文地址:https://www.cnblogs.com/sallyzhang/p/12373069.html
Copyright © 2011-2022 走看看