springboot未授权到多个高危挖掘过程

0x01 前言

记录本次已授权目标(所有漏洞均已修复),本来只是一个平平无奇的spring未授权,发现存在heapdump接口,通过查看env后搜索相关敏感关键词,比如shiro,oss等

shiro的话说明目标服务启用了shiro,但是具体在哪里需要自己找,此时的heapdump里很有可能泄露shiro密钥,获取shiro密钥后就是rce了 oss和储存桶等云服务挂钩,有些会直接在actuator根节点下,有些则是靠内存泄漏进行分析获取泄露的oss的aksk 其中还存在nacos,可以通过翻找配置文件等,可能会泄露大量隐私数据。

0x02 正文

首先是插件扫描到路径https://xxx.xxx.xxx.xx/actuator,可直接未授权访问spring接口,例如env、heapdump等

这里存在多个端点,去/env 中访问发现其利用了 shiro 框架

直接访问https://xxx.xxx.xxx.xx/actuator/heapdump下载文件,然后进行内存信息分析可以得到大量隐私信息

这里可以使用java自带的jvm进行分析,也可以使用辅助工具,推荐一个自动化分析的工具JDumpSpider,但是还是需要个人走一下内存分析的流程会好一些

0x03 jvm简单分析

下载下来,然后用java工具装载,进行过滤

然后在实例中查看decryptionCipherKey

得到数组:124, 42, -66, -1, 21, -128, 113, 120, 76, 76, 32, -2, 114, 98, 119, 105

这时候借鉴了一下网上的思路,这里是base64转byte

所以反过来,byte转base64即可,
得到密钥:fCq+/xWAcXhMTCD+cmJ3aQ==

然后使用利用工具进行判断

因为使用了AES加密,所以要勾选AES加密,不然会出错,然后直接进行利用链利用

至此验证漏洞存在即可

0x04 分析工具JDumpSpider

使用:

java -jar JDumpSpider-1.0-SNAPSHOT-full.jar heapdump

ps:内容过多,这里仅截图一张了

为了方便查看复制到文档打开

拿到后梳理一下可能获取到的信息,例如:

Redis地址、数据库地址及账号密码、nacos地址、minio地址及账号密码、ak/sk、shiro密钥等等。
这里获取到一些mysql数据库、nacos地址、ak/sk
nacos地址:

https://xxx.xxx.xxx.xx:8848

当然数据库这些信息比较敏感,操作也比较简单,获取ak/sk的一些点和利用方式具体可以参考公众号以前的文章,笔者在这里也不做赘述了

我们先来打nacos

这里需要注意的就是nacos默认端口一般都是8848(特殊情况除外),端口提示是404,需要拼接路径/nacos访问才行

未授权创建用户

构建payload

这里值得注意的是,有些时候会存在版本差异,需要删除ua发包或者修改ua为

User-Agent:Nacos-Server

发包
pyload:

/nacos/v1/auth/users?accesstoken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3NTQxMDg2OH0.ZVcH2lwvBYHQvt232ruk2jqO08Eag3LLpZSz899j0D0&username=test&password=test111

创建成功,正常登录账号

权限绕过

登录框任意输入,抓包拦截返回包,构建pyload,修改状态码

pyload:

{

这里的jwt作用不大,只是为了校验用户名而已,任意构造一个jwt都可以进行绕过,重要的是返回包的globalAdmin为true

放包后即可进入后台

这里案例nacos并没有public,所以也没有配置文件可翻,我们也就点到为止了,springboot未授权引发的漏洞存在很多,当然上述也只是一小部分组合拳利用,如果有更好的思路和利用方式的师傅欢迎私信一起交流~

  • 21
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值