记一次从信息泄漏到RCE

0x01概述
最近遇到很多 spring boot 的站,这时候问题来了,如果没有 jolokia 、env 不让 POST ,那还能拿到重大成果吗,哈哈哈,下面就慢慢看吧。
0x02 上手操作
目标站存在 spring env 信息泄漏。

测试情况下发现限制了POST方法。

从http://www.xx.com/heapdump
获取调用栈相关信息,如果是 sping boot 2.x 的话路径就是http://www.xx.com/actuator/heapdump
。

紧接着使用这个工具,将内存加载,有个注意事项是,内存如果解压出来,比如当前我解压出来 1.46G ,那么在 MemoryAnalyzer.ini 这个文件当中需要将内存设置为大于这个大小,我设置为 2G ,否则会报错。

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-vmargs
-Xmx2048m
进行内存搜索的时候有几个技巧,例如我们在网页上找到了阿里云相关的ak信息,但是sk被脱敏了,如果这时候搞定ak和sk的话,那么势必这个服务器就是我们的囊中之物了。
"aliyun.oss.accessKeyId": "LTAxxxxxxxxxxxx"
"aliyun.oss.accessKeySecret": "******"
所以这里先介绍这个工具的使用思路,以阿里云为例子,由于阿里云实际上开发的时候由自己相关的SDK,从SDK中找到相关类名字,一般 ak 与 sk 与这个 OSSClient 有关系

接着全局搜索 OSSClient 这个关键词,看看哪里调用了他,找到了AliyunOSSServiceImpl.getUserSkinOssClient()
这个方法和 OSSClient 有关系,这时候要做的就是进一步搜索 AliyunOSSServiceImpl 找到了 AliyunOSSServiceImpl ,选择下图中的按钮,即可出现我们要的信息了。




通过这部分信息直接导入行云助手,服务器就出来了。

另外发现腾讯云 qcloud 的相关信息,直接搜索 qcloud,出来关键类 QcloudUtil

继续搜索 QcloudUtil ,内容就出来了。



最后由于微信没有官方的 Java sdk ,因此以 wx 或者 Wx 为关键字进行搜索,从名字来看其他都不是,反正一个个点开看,也找到了。



0x03 后话
这个功能点实际上是开发用来做一些内存调试信息报错的,但是对于我们安全人员来说,就会出现很多其他问题,那么问题来了,开发要是转安全,安全还有饭吃吗。