shopxo是一款开源的企业级商城系统,基于thinkphp5框架开发。这几天做了“[GKCTF2020]老八小超市儿”这道题,学到了后台获取shell的一个技巧,所以在这里复现一下。
提供一个搜索语法:title=“ShopXO企业级B2C电商系统提供商”(不要干坏事哦)
渗透测试复现
页面来自buuctf——[GKCTF2020]老八小超市儿。ShopXO全版本getshell流程走起:
进入题目(网上随便可以通过搜索找到一个使用shopxo搭建的演示站)
别的漏洞没找到,尝试访问默认登陆后台,后台页面为/admin.php:
使用shopxo的默认账号密码进行登录:账号:admin 密码:shopxo
成功进入后台
接下来就是getshell的骚方法了:
在后台找到 应用中心-应用商店-主题,然后下载默认主题。
随便找一个免费的下载。下载下来的主题是一个zip安装包,然后把你的webshell放到压缩包的
回到网页上,找到 网站管理-主题管理-主题安装(然后选择你加入webshell后的主题压缩包进行上传)
上传成功后,在当前主题中可以看到
这里查看主页上的当前主题就能知道文件的位置
我们访问一下试试webshell是否成功:
1 | http://214cad3b-6ae5-4225-b596-ca2a35c082a3.node3.buuoj.cn/public/static/index/default/hack.php |
成功:
用蚁剑连接webshell
发现根目录有flag,打开看看
发现flag是假的。并说flag在/root目录,但是/root目录没权限,打不开。
查看/flag.hint:
一脸懵逼。
再看看根目录里那个红的auto.sh:
发现每隔60秒执行一下/var/mail/makeflaghint.py文件,我们去看看这个makeflaghint.py文件:
代码的作用是,打开/flag.hint文件,并写入时间,怪不得。。。并且有root的执行权限,能每60秒刷新hint文件。
那就好说了,直接把root目录下的flag写到flag.hint中不就好了,增加两条语句
等个不到一分钟再去看下flag.hint就有flag啦
切勿进行违法行为,遵守网络安全法。