最近又老生常谈的发现n多客户的服务器莫名其妙的流量N大,然后仔细查找了一番,网上出现也蛮多的,这里发一个变种的。所谓的就是用来模拟http请求,发送udp+数据包。只有目标服务器带宽大于攻击者的才不会受影响。软防硬防屏蔽一律无视。
当然,题目是分布式,攻击来源自然不是一个,三个500m的服务器的虚拟主机webshell干掉1g带宽的服务器没问题。
用法:
http://www.shell.com/xxxx.php?ip=8.8.8.8&port=80&time=99999999999999999
Php代码
其实工作原理很简单就是通过url传递IP和端口以udp的方式打开,传递文件到服务器写出,访问触发后会进行攻击他人服务器的行为。
解决方案:
window的解决方法是首先停止IIS服务在php.ini里设置
disable_functions=gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
然后设allow_url_fopen其值为Off
在检查extension=php_sockets.dll是否有extension=php_sockets.dll
然后ok重启IIS。
另外,对于没加密的php攻击代码,还可以用IP策略,或防火墙,禁止所有udp向外发送
linux的,使用 iptables 创建:
iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --sport 1024:65535 -d 8.8.4.4 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p udp -m udp --sport 1024:65535 -d 8.8.8.8 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p udp -j REJECT
修改下php.ini把 allow_url_fopen = Off0daybank
文章评论