PHP Web木马扫描器代码分享
本篇文章给大家分享一段代码,php web木马扫描器。需要的朋友直接复制代码,就可以使用了,代码超简单,附有注释,需要的朋友可以参考下
不废话了,直接贴代码了。
代码如下:
"
. " "
. " "
. ""
."";
exit;
}elseif(isset($_POST['passchack'])&&$_POST['passchack']==$pass){
$code=file_get_contents($_GET['readfile']);
echo"";
exit;
}else{
exit;
}
}else{
record_md5(M_PATH);
if(file_exists(M_LOG)){
$log = unserialize(file_get_contents(M_LOG));
}else{
$log = array();
}
if($_GET['savethis']==1){
//保存当前文件md5到日志文件
@unlink(M_LOG);
file_put_contents(M_LOG,serialize($file_list));
echo "保存成功!点击返回";
exit;
}
if(empty($log)){
echo "当前还没有创建日志文件!点击[保存当前]创建日志文件!";
}else{
if($file_list==$log){
echo "本文件夹没有做过任何改动!";
}else{
if(count($file_list) > 0 ){
foreach($file_list as $file => $md5){
if(!isset($log[$file])){
echo "新增文件:".$file.""." 创建时间:".date("Y-m-d H:i:s",filectime($file))." 修改时间:".date("Y-m-d H:i:s",filemtime($file))." 源码删除
";
}else{
if($log[$file] != $md5){
echo "修改文件:".$file.""." 创建时间:".date("Y-m-d H:i:s",filectime($file))." 修改时间:".date("Y-m-d H:i:s",filemtime($file))." 源码
";
unset($log[$file]);
}else{
unset($log[$file]);
}
}
}
}
if(count($log)>0){
foreach($log as $file => $md5){
echo "删除文件:".$file."
";
}
}
}
}
}
}
//计算md5
function record_md5($jkdir){
global $file_list,$exclude;
if(is_dir($jkdir)){
$file=scandir($jkdir);
foreach($file as $f){
if($f!='.' && $f!='..' && !in_array($f, $exclude)){
$path = $jkdir.'http://www.jb51.net/'.$f;
if(is_dir($path)){
record_md5($path);
}else{
$file_list[$path]=md5_file($path);
}
}
}
}
}
function Safe_Check($jkdir)//遍历文件
{
global $danger ,$suffix ,$jkdir_num ,$file_num ,$danger_num;
) or die('文件夹不存在') ;
while ($file=$hand->read())
{
$filename=$jkdir.'http://www.jb51.net/'.$file;
if (!$jumpoff) {
if(Jump($filename))continue;
}
if(@is_dir($filename) && $file != '.' && $file!= '..'&& $file!='./..')
{ $jkdir_num++;
Safe_Check($filename);
}
if (preg_match_all ("/\.($suffix)/i",$filename,$out))
{
$str='';
$fp = @fopen($filename,'r')or die('没有权限');
while(!feof($fp))
{
$str .= fgets($fp,1024);
}
fclose($fp);
if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))
{
echo "可疑文件:{$filename}"." 创建时间:".date("Y-m-d H:i:s",filectime($filename))." 修改时间:".date("Y-m-d H:i:s",filemtime($filename))." 查看代码 删除
";
$danger_num++;
}
}
$file_num++;
}
}
function Edit()//查看可疑文件
{
global $filename;
$filename = str_replace("..","",$filename);
$file = $filename;
$content = "";
if(is_file($file))
{
$fp = fopen($file,"r")or die('没有权限');
$content = fread($fp,filesize($file));
fclose($fp);
$content = htmlspecialchars($content);
}
echo "\r\n";
exit();
}
function Delete()//删除文件
{ global $filename,$pass;
if(empty($_POST['passchack'])){
echo"
以上代码就是php web木马扫描器代码分享,本文附有注释,有不明白的欢迎给我留言,相信实现方法也不止以上一种,欢迎大家多多分享不同的实现方法。
,上一篇: Mapjoin和Reducejoin案例
下一篇: PHP+MySQL插入操作实例