SpringBoot 相关漏洞学习资料,利用方法和技巧合集

admin 2022年3月30日10:05:08评论256 views1字数 2174阅读7分14秒阅读模式

资料地址:https://github.com/LandGrey/SpringBootVulExploit#0x01whitelabel-error-page-spel-rce

SpringBoot 相关漏洞学习资料,利用方法和技巧合集

目录

  • Spring Boot Vulnerability Exploit Check List

    • 0x01:whitelabel error page SpEL RCE

    • 0x02:spring cloud SnakeYAML RCE

    • 0x03:eureka xstream deserialization RCE

    • 0x04:jolokia logback JNDI RCE

    • 0x05:jolokia Realm JNDI RCE

    • 0x06:restart h2 database query RCE

    • 0x07:h2 database console JNDI RCE

    • 0x08:mysql jdbc deserialization RCE

    • 0x09:restart logging.config logback JNDI RCE

    • 0x0A:restart logging.config groovy RCE

    • 0x0B:restart spring.main.sources groovy RCE

    • 0x0C:restart spring.datasource.data h2 database RCE

    • 步骤一:找到一个正常传参处

    • 步骤二:执行 SpEL 表达式

    • 利用条件:

    • 利用方法:

    • 漏洞原理

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:托管 yml 和 jar 文件

    • 步骤二:设置 spring.cloud.bootstrap.location 属性

    • 步骤三:刷新配置

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:架设响应恶意 XStream payload 的网站

    • 步骤二:监听反弹 shell 的端口

    • 步骤三:设置 eureka.client.serviceUrl.defaultZone 属性

    • 步骤四:刷新配置

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:查看已存在的 MBeans

    • 步骤二:托管 xml 文件

    • 步骤三:准备要执行的 Java 代码

    • 步骤四:架设恶意 ldap 服务

    • 步骤五:监听反弹 shell 的端口

    • 步骤六:从外部 URL 地址加载日志配置文件

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:查看已存在的 MBeans

    • 步骤二:准备要执行的 Java 代码

    • 步骤三:托管 class 文件

    • 步骤四:架设恶意 rmi 服务

    • 步骤五:监听反弹 shell 的端口

    • 步骤六:发送恶意 payload

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:设置 spring.datasource.hikari.connection-test-query 属性

    • 步骤二:重启应用

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:访问路由获得 jsessionid

    • 步骤二:准备要执行的 Java 代码

    • 步骤三:托管 class 文件

    • 步骤四:架设恶意 ldap 服务

    • 步骤五:监听反弹 shell 的端口

    • 步骤六:发包触发 JNDI 注入

    • 利用条件:

    • 利用方法:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:查看环境依赖

    • 步骤二:架设恶意 rogue mysql server

    • 步骤三:设置 spring.datasource.url 属性

    • 步骤四:刷新配置

    • 步骤五:触发数据库查询

    • 步骤六:恢复正常 jdbc url

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:托管 xml 文件

    • 步骤二:托管恶意 ldap 服务及代码

    • 步骤三:设置 logging.config 属性

    • 步骤四:重启应用

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞分析:

    • 漏洞环境:

    • 步骤一:托管 groovy 文件

    • 步骤二:设置 logging.config 属性

    • 步骤三:重启应用

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞环境:

    • 步骤一:托管 groovy 文件

    • 步骤二:设置 spring.main.sources 属性

    • 步骤三:重启应用

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞环境:

    • 步骤一:托管 sql 文件

    • 步骤二:设置 spring.datasource.data 属性

    • 步骤三:重启应用

    • 利用条件:

    • 利用方法:

    • 漏洞原理:

    • 漏洞环境:

    • 0x01:路由地址及接口调用详情泄漏

    • 0x02:配置不当而暴露的路由

    • 0x03:获取被星号脱敏的密码的明文 (方法一)

    • 0x04:获取被星号脱敏的密码的明文 (方法二)

    • 0x05:获取被星号脱敏的密码的明文 (方法三)

    • 0x06:获取被星号脱敏的密码的明文 (方法四)

    • 步骤一:找到想要获取的属性名

    • 步骤二:jolokia 调用相关 Mbean 获取明文

    • 利用条件:

    • 利用方法:

    • 步骤一:找到想要获取的属性名

    • 步骤二:使用 nc 监听 HTTP 请求

    • 步骤三:设置 eureka.client.serviceUrl.defaultZone 属性

    • 步骤四:刷新配置

    • 步骤五:解码属性值

    • 利用条件:

    • 利用方法:

    • 步骤一:找到想要获取的属性名

    • 步骤二:使用 nc 监听 HTTP 请求

    • 步骤三:触发对外 http 请求

    • 步骤四:刷新配置

    • 利用条件:

    • 利用方法:

    • 步骤一:找到想要获取的属性名

    • 步骤二:下载 jvm heap 信息

    • 步骤三:使用 MAT 获得 jvm heap 中的密码明文

    • 利用条件:

    • 利用方法:

    • 0x01:路由知识

    • 0x02:版本知识

    • 组件版本的相互依赖关系:

    • Spring Cloud 与 Spring Boot 版本之间的依赖关系:

    • Spring Cloud 小版本号的后缀及含义:

    • 零:路由和版本

    • 一:信息泄露

    • 二:远程代码执行


原文始发于微信公众号(Ots安全):SpringBoot 相关漏洞学习资料,利用方法和技巧合集

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月30日10:05:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SpringBoot 相关漏洞学习资料,利用方法和技巧合集http://cn-sec.com/archives/855049.html

发表评论

匿名网友 填写信息