Chinaunix

标题: 网站总被人上传一个后门木马文件,怎么查到是通过什么方法上传的? [打印本页]

作者: kingstone32    时间: 2009-12-06 18:59
标题: 网站总被人上传一个后门木马文件,怎么查到是通过什么方法上传的?
前一段时间放了一个被偷偷放了木马的网站程序在服务器上,查出后就删除了那个程序,但后来就一直被人上传一个后门文件在主网站上,只能通过查找这个后门所包含的关键字来找出这个PHP文件删除掉,但没几天又被人上传了,不知道怎么看日志,应该怎么查出是什么方式上传的?该怎么堵住这个漏洞?
作者: lsstarboy    时间: 2009-12-06 21:00
查一下apche或nginx的日志,先找post,一般都能找到,找不到就是遇到高手了,慢慢过滤吧。或者安装一个分析软件,或许能找的快一些。
作者: 剑心通明    时间: 2009-12-07 08:09
找高手看你的网站程序吧,估计是注入漏洞什么的吧
作者: ppabc    时间: 2009-12-07 08:31
先分析是不是 程序上的问题 再考虑是不是 系统上的
这样的问题  程序上的问题 可能性比较大!
:wink:

[ 本帖最后由 ppabc 于 2009-12-7 09:13 编辑 ]
作者: chenyx    时间: 2009-12-07 08:42
检查下web日志,关注post上来的东东.
另外,设置上传目录禁止运行php
作者: macafee    时间: 2009-12-07 09:36
10有89都是WEB应用上出了问题,还有可能就是FTP存在弱密码和权限分配不合理。
作者: langue    时间: 2009-12-07 13:57
对于网站,我觉得网页目录完全可以用只读 NFS 方式挂载到 HTTP server,避免写入任何文件。
数据库的安全是另一回事。
作者: lsstarboy    时间: 2009-12-07 20:27
楼上说的对,除了必须的上传目录外,最好关闭写权限,或者干脆把文件属主改为其它用户。
作者: kingstone32    时间: 2009-12-07 22:39
不会看日志啊,能具体些吗?在哪个目录?用什么软件查看吗?
作者: beyondfly    时间: 2009-12-07 22:58
观看日志,看看有哪些用户非法登录了
作者: lsstarboy    时间: 2009-12-08 08:35
原帖由 kingstone32 于 2009-12-7 22:39 发表
不会看日志啊,能具体些吗?在哪个目录?用什么软件查看吗?

最简单的方法:

cat /var/log/nginx-access.log | grep "POST" >> /home/log.log  
  ee /home/log.log


FreeBSD的日志一般都在/var/log里(mysql的除外),如果是apache的话,那个nginx-access.log要换成http-机器名-access.log,最好还是ls /var/log看一下具体的名字。
作者: mokai    时间: 2009-12-08 10:04
估计是权限被放太开了,要关闭一些。
作者: kingstone32    时间: 2009-12-10 09:16
原帖由 lsstarboy 于 2009-12-8 08:35 发表

最简单的方法:



FreeBSD的日志一般都在/var/log里(mysql的除外),如果是apache的话,那个nginx-access.log要换成http-机器名-access.log,最好还是ls /var/log看一下具体的名字。




www# cd /var/log
www# ls
auth.log        auth.log.7.bz2  debug.log.0.bz2 maillog.2.bz2   messages.1.bz2
auth.log.0.bz2  clamav          debug.log.1.bz2 maillog.3.bz2   mount.today
auth.log.1.bz2  cron            dmesg.today     maillog.4.bz2   pf.today
auth.log.2.bz2  cron.0.bz2      dmesg.yesterday maillog.5.bz2   setuid.today
auth.log.3.bz2  cron.1.bz2      lastlog         maillog.6.bz2   wtmp
auth.log.4.bz2  cron.2.bz2      maillog         maillog.7.bz2   wtmp.0
auth.log.5.bz2  cron.3.bz2      maillog.0.bz2   messages        wtmp.1
auth.log.6.bz2  debug.log       maillog.1.bz2   messages.0.bz2



我系统用的是nginx,为何log里面没有nginx-access.log这个文件?http开头的也没有?难道没有打开日志功能?
作者: kingstone32    时间: 2009-12-10 09:17
原帖由 mokai 于 2009-12-8 10:04 发表
估计是权限被放太开了,要关闭一些。


有哪些权限可以关闭不影响工作的?
作者: lsstarboy    时间: 2009-12-10 09:22
我系统用的是nginx,为何log里面没有nginx-access.log这个文件?http开头的也没有?难道没有打开日志功能?

那还是查看一下nginx.conf里的access_log和erro_log吧,看一下到底放哪儿了。
作者: deeperpurple    时间: 2009-12-10 18:18
手工检查后门会很慢,用PHP WebShell Scanner

http://www.javaeye.com/topic/474740
或者
http://www.yxlink.com/products-tools-webshellscanner.html 在Windows下跑的,你可以把网站目录挂出去让它访问

网站有漏洞才被人利用,要么自己查,要么可以找我帮你看
作者: zxxz79    时间: 2009-12-11 11:48
楼上说的对,可以用木马查找软件来分析出后门
但是找出后门还是没用的,关键还是要消灭漏洞所在
我自己的处理经验是这样的
1、定位webshell或者被挂马页面,查看修改时间,find查找最靠近修改时间的文件,排查
2、如果webshell或被挂马页面已经被touch过时间无法定位时间直接拿webshell的文件名到web日志里grep,找出访问过webshell的ip,再grep一下这个ip做过的动作,结合两个思路得出的日志可以慢慢的找到,同时多注意你找到webshell的目录,假如这个目录正好是在eWebEditor下那你就要注意下这个eWebEditor最近是否有新漏洞,或者这个编辑器的后台默认密码没修改等等
3、sql注入这种前期一般都是有扫描的,找几个关键字%20的去查,也可以下载日志回来分析,介绍个小工具
http://www.2tutu.com/post/2007/145.html  scanlog要在win下使用,可以检查出一些注入日志,找到ip跟注入文件后再通过前面说的时间匹配文件匹配,继续分析
作者: zxxz79    时间: 2009-12-11 13:21
原帖由 langue 于 2009-12-7 13:57 发表
对于网站,我觉得网页目录完全可以用只读 NFS 方式挂载到 HTTP server,避免写入任何文件。
数据库的安全是另一回事。

这种情况访问量大nfs应该会成为瓶颈吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2