[羊城杯 2020]Easyphp2
我们打开页面,显示404,并有提示,只有来自GWHT的人才能通过
我们想到修改cookie,我们将pass的值修改为GWHT就能进入网站
给了个提交框后没啥别的信息了,我们发现url传的参数是file,通常这种参数都能用来进行php伪协议
我们尝试输入
1 | ?file=php://filter/convert.base64-encode/resource=GWHT.php |
成功报错,说明过滤了什么东西,经过fuzz,我们发现过滤了base64,
我们对base64进行二次解码
1 | http://d6fbdc3d-6443-4349-be87-4d7d289f2340.node5.buuoj.cn:81/?file=php://filter/convert.%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34-encode/resource=GWHT.php |
得到php源码
1 | <?php |
第一个php的意思是cookie要是GWHT,我们通过了不用管了
第二个php用来rce的
1 | 简化一下就是这样子,虽然它过滤了<?php但我们可以用<?=代替。 |
我们提交payload
成功上传了
我们用蚁剑进行连接
我们用find命令寻找flag
1 | find / -name flag* |
我们打开发现flag.txt里面什么都没有
我们在readme里发现密码
解码后是GWHTCTF
接下来一个就是su提权
直接切换用户不行,因为蚁剑shell不是完整tty
我们利用管道输出符进行传输密码
1 | printf "GWHTCTF" | su - GWHT -c 'cat /GWHT/system/of/a/down/flag.txt' |
得到flag