慢速http测试(dos攻击)
2022-12-6 14:21:12 Author: 白安全组(查看原文) 阅读量:23 收藏

在法律允许的范围内,本人在此声明,不承担用户或任何人士就使用或未能使用本人所提供的信息或任何链接或项目所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿(包括但不限于收益、预期利润的损失或失去的业务、未实现预期的节省)

本人所提供的信息,只提供学习研究,若自行用作违法用途,本人不承担任何责任,学习一途,双刃之剑。继续阅读则表示您同意本声明。

然后下面是正文,这一篇工具介绍类文章,因为这个有一定可违法性,所以大家看完免责再说吧

然后简单介绍一下这个软件的功能

slowhttptest软件

应用层 DoS 攻击,例如 slowloris Slow HTTP POST Slow Read 攻击 (基于 TCP 持久计时器利用)通过耗尽并发连接池,以及 Apache Range Header 攻击 通过在服务器上造成非常大的内存和 CPU 使用率。

Slowloris 和 Slow HTTP POST DoS 攻击依赖于这样一个事实,即 HTTP 协议在设计上要求请求在处理之前完全被服务器接收。  如果 HTTP 请求不完整,或者传输速率非常低,服务器会使其资源忙于等待其余数据。  如果服务器占用太多资源,就会造成拒绝服务。  此工具正在发送部分 HTTP 请求,试图从目标 HTTP 服务器获得拒绝服务。

Slow Read DoS 攻击 针对与 slowloris 和 slow POST 相同的资源,但它不是延长请求,而是发送合法的 HTTP 请求并缓慢读取响应。

上面的废话结束了,我们来说一下安装与使用

$ tar -xzvf slowhttptest-x.x.tar.gz
$ cd slowhttptest-x.x
$ ./configure --prefix=PREFIX
$ make
$ sudo make install

这个是再GitHub下载的安装方式,我们也可以直接使用parrot os系统,内置安装,或者使用kali安装

apt-get install opensslapt-get install libssl-devapt-get install

测试从以下默认参数开始:

测试类型 慢头
连接数 50
网址 http://本地主机/
动词 得到
跟进数据间隔 10秒
每秒连接数 50
测试持续时间 240 秒
探测连接超时 5秒
后续数据字段的最大长度 32字节

等会我们输入命令的时候就知道怎么去配置了

下面这个是原开发商的英文参数解释,大家可以自行翻译,实在不想看的可以跳过这部分直接看使用命令。

optiondescription
-a startstart value of ranges-specifier for range header test
-b byteslimit of range-specifier for range header test
-c number of connectionslimited to 65539
-d proxy host:portfor directing all traffic through web proxy
-e proxy host:portfor directing only probe traffic through web proxy
-H, B, R or Xspecify to slow down in headers section or in message body, -R enables range test, -X enables slow read test
-f content-typevalue of Content-type header
-ggenerate statistics in CSV and HTML formats, pattern is slow_xxx.csv/html, where xxx is the time and date
-i secondsinterval between follow up data in seconds, per connection
-j cookiesvalue of Cookie header (ex.: -j "user_id=1001; timeout=9000")
-k pipeline factornumber of times to repeat the request in the same connection for slow read test if server supports HTTP pipe-lining.
-l secondstest duration in seconds
-m acceptvalue of Accept header
-n secondsinterval between read operations from receive buffer
-o filecustom output file path and/or name, effective if -g is specified
-p secondstimeout to wait for HTTP response on probe connection, after which server is considered inaccessible
-r connections per secondconnection rate
-s bytesvalue of Content-Length header, if -B specified
-t verbcustom verb to use
-u URLtarget URL, the same format you type in browser, e.g https://host[:port]/
-v levelverbosity level of log 0-4
-w bytesstart of range the advertised  window size would be picked from
-x bytesmax length of follow up data
-y bytesend of range the advertised  window size would be picked from
-z bytesbytes to read from receive buffer with single read() operation

使用命令

slowhttptest -c 2000 -B -g -o body_states -i 110 -r 200 -s 8192 -t FAKEVERB -u http://目标 -x 10 -p 3

这样可以直接使用,参数含义大家可以参考上面的英文文档

成功完成攻击,可以到目标服务器中使用

netstat -ano

命令查看我们的攻击结果

我这里用我自己的服务器做了测试,可以发现明显访问速度过慢,如果再持续时间久一点应该就要无法访问了,针对中小型站还是非常实用的,前提是你知道对方的真实IP地址。


文章来源: http://mp.weixin.qq.com/s?__biz=MzU4MjYxNTYwNA==&mid=2247486266&idx=1&sn=a3c869325ddebe2db9600505a061ded4&chksm=fdb4dc61cac35577428beb6e3051d7d8bfe15b5d890e4024aee51e507fdc5733ee62b1e8945d#rd
如有侵权请联系:admin#unsafe.sh