前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【神兵利器】Spring-Boot漏洞利用工具

【神兵利器】Spring-Boot漏洞利用工具

作者头像
Al1ex
发布2024-11-26 16:15:55
发布2024-11-26 16:15:55
2500
举报
文章被收录于专栏:网络安全攻防

项目介绍

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

文件结构

代码语言:javascript
复制
├──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) 密码脱敏

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

(2) Spring Cloud Gateway 交互式命令

痕迹清除:

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

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

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

代码语言:javascript
复制
nc -lvk 9000 # mac
nc -lvp 9000 # linux
python -m http.server 80

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

(4) H2DatabaseSource RCE(慎用)

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

监听端口默认是8881

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

代码语言:javascript
复制
nc -lvk 8881 # mac
nc -lvp 8881 # linux
python -m http.server 80

(5) SpEL注入导致的RCE

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

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

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

代码语言:javascript
复制
nc -lvk port # mac
nc -lvp port # linux

(6) MainSourceGroovyRCE

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

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

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

代码语言:javascript
复制
nc -lvk 7777 # mac
nc -lvp 7777 # linux
python -m http.server 80

(7) LoggingConfigGroovyRCE

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档