声明: 本次演练中,所有测试设备均由主办方提供,所有流量均有留档可审计,所有操作均在授权下完成,所有数据在结束后均已安全销毁。

前段时间有个渗透,给到目标给看了一下。渗透过程并不难,比较疑惑的是不知道为什么要这样来设计应用。下面简单复盘一下。

PS:图片均网图,只描述思路

1.幸运一

网站的入口很简单,前端是vue,vue很熟悉了,前后端分离的站很多接口都是暴露在js中,批量跑一下说不定会有什么未授权之类的。但是很遗憾,这次没有

640 (1)-1689857066321

于是就回到登录界面爆破看看。很幸运的是,爆破登录进来了。

640 (2)-1689857086920

进来以后还是老样子,找上传啊,命令执行啊,等等

2.伏笔

这个系统是有上传功能的,但是比较奇葩。

先是编辑器。

640 (3)-1689857122734

很遗憾,并不能用,不管是截断也好,还是高并发也好,都不能突破

然后是非编辑器。。这里很有意思,本次测试时的地址是www.test.com 上传接口1把文件上传到了test.test.com 也就是下面第一张图片。而上传接口2把文件上传到了123-test.oss-cn-beijing.aliyuncs.com 也就是第二张图片。

640 (4)-1689857281022

640 (5)-1689857293225

3.柳暗花明

虽然整个系统部署在阿里云,但好歹也是有了shell了,在拿到shell之后,本以为可以fscan一把梭,但是很遗憾,并不能执行命令,尝试利用蚁剑自带的bypass功能来绕过,也是以失败告终。

640 (6)-1689857317544

640 (7)-1689857327725

但是回头一想,感觉哪里有些问题。既然一个系统下,图片内容都放在一个服务器不就可以了,为什么还要分两个,一个本地,一个云存储桶。。那既然可以把文件上传到桶,那么就一定会有AccessKeyId以及AccessKeySecret, 找到了这两样东西,剩下的就看管理员的配置是否合理了,俗称看命。

shell本身不能执行命令,但是看文件是问题没问题的,而且是php。

于是就开始在源码里一个一个翻。果然,翻到了。

640 (8)-1689857362838

拿到了这两个东西后,利用CF来做云上工作。

不幸运的是,权限不高,更不幸的是,但是内容更少。(网图)

640 (9)-1689857394590

640 (10)-1689857414060

以上就是复盘内容,总体不是很难,特殊环境下的特殊路径的常规手段吧算是。做个记录。