Spring-Boot漏洞利用工具

admin 2024年11月26日10:06:34评论43 views字数 1819阅读6分3秒阅读模式

项目介绍

SpringBootVul-GUI是一个半自动化springboot打点工具,内置目前springboot所有漏洞

文件结构

├──SpringbootVul-GUI  ├── META-INF/  ├── resources/    # 存放资源文件、字典和exp的跨文件  ├── HPFile/        # 存放下载的heapdump  ├── src/          # 工程代码  ├── image/          ├── libs/          # 所需依赖

支持功能

  • 配置不正当导致的泄露
  •  脱敏密码明文(1)
  •  增加漏洞利用选择模块,可以选择单一或多个漏洞进行检测
  •  命令执行漏洞式支持交互式执行命令
  •  Spring Gateway RCE
  •  heapdump文件下载导致敏感信息泄露
  •  druid数据连接池
  •  脱敏密码明文(2)
  •  脱敏密码明文(3)
  •  eureka中xstream基于反序列化的RCE
  •  spring.datasource.data 基于h2数据库的RCE
  •  基于SpEL注入的RCE
  •  spring.main.source的groovyRCE
  •  logging.config的groovyRCE
  •  H2数据库设置query属性的RCE
  •  logging.config的logback基于JNDI的RCE
  •  CVE-2021-21234任意文件读取
  •  h2数据库的控制台基于JNDI注入的RCE
  •  SpringCloud的SnakeYaml的RCE
  •  jolokia中logback基于JNDI注入的RCE

使用演示

(1) 密码脱敏

Spring-Boot漏洞利用工具

Spring-Boot漏洞利用工具

得到Authorization字段的数据用base64解码即可,有时间再优化下能直接显示到文本框里

Spring-Boot漏洞利用工具

Spring-Boot漏洞利用工具

Spring-Boot漏洞利用工具

(2)  Spring Cloud Gateway 交互式命令

Spring-Boot漏洞利用工具

Spring-Boot漏洞利用工具

痕迹清除:

默认清除poctest、pwnshell和expvul路由,其他路由自行判断

Spring-Boot漏洞利用工具

(3) Eureka 反序列化RCE(慎用)

直接点击getshell反弹,单纯poc测试的没写,python文件放同一目录下了,需要在vps启用2个端口,一个是你python服务器的端口,一个是反弹端口,写在python文件中,反弹端口默认是9000,注意这两个端口区别,输入框的端口是托管服务器端口

nc -lvk 9000 # macnc -lvp 9000 # linuxpython -m http.server 80

备注:该数据包发送后会驻留到目标Eureka会不断请求,若造成服务器出错时,可能会导致无法访问网站的路由

Spring-Boot漏洞利用工具

(4) H2DatabaseSource RCE(慎用)

Spring-Boot漏洞利用工具

目前已经基本完成一键getshell,理论上只要在不关闭的情况下可以无限弹,因为目前的payload是从T5开始的,如果遇到网站被测试过时,那大概率会报错而导致对方服务宕机,因为这是不回显RCE,无法判断到底有没有被测试过。现为随机生成3位数字,没有关闭工具的情况下默认递增。

监听端口默认是8881

输入框中填写你开启服务器的端口,目前为了能无限弹的机制,暂时只能设置在该项目的resources文件夹开启

nc -lvk 8881 # macnc -lvp 8881 # linuxpython -m http.server 80

Spring-Boot漏洞利用工具

(5) SpEL注入导致的RCE

可以同时检测多个参数值,要在参数值上打上一个单引号'作为标记'

http://127.0.0.1:9091/article?id=1'&b=2'

getshell功能可以直接弹shell,getshell模块直接输入地址+路由+参数,无需加=和后面的值

nc -lvk port # macnc -lvp port # linux

Spring-Boot漏洞利用工具

Spring-Boot漏洞利用工具

(6) MainSourceGroovyRCE

Spring-Boot漏洞利用工具

一键getshell监听的端口是托管groovy文件的端口,反弹端口默认为7777,输入框中填写你开启服务器的端口,目前为了更好弹shell,最好设置在该项目的resources文件夹开启

备注:“HTTP 服务器如果返回含有畸形 groovy 语法内容的文件,会导致程序异常退出”

所以师傅有需要修改代码或者其他用途的时候,修改代码的时候不要改错groovy内容并且文件内容也不要随意修改,以防万一

nc -lvk 7777 # macnc -lvp 7777 # linuxpython -m http.server 80

Spring-Boot漏洞利用工具

(7) LoggingConfigGroovyRCE

Spring-Boot漏洞利用工具

下载地址

https://github.com/wh1t3zer/SpringBootVul-GUI

 

原文始发于微信公众号(七芒星实验室):【神兵利器】Spring-Boot漏洞利用工具

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月26日10:06:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Spring-Boot漏洞利用工具https://cn-sec.com/archives/3437809.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息