slowhttptest慢速攻击工具使用详解
参考文章
- 浅谈“慢速HTTP攻击Slow HTTP Attack”
- HTTP慢速攻击
- Slowhttptest攻击原理
- InstallationAndUsage
- tag: #slowhttptest
- Ref:
本片文章仅供学习使用,切勿触犯法律!
一、简要介绍
SlowHTTPTest是一款对服务器进行慢攻击的测试软件,所谓的慢攻击就是相对于cc或者DDoS的快而言的,并不是只有量大速度快才能把服务器搞挂,使用慢攻击有时候也能到达同一效果。slowhttptest包含了之前几种慢攻击的攻击方式,包括slowloris, Slow HTTP POST, Slow Read attack等。那么这些慢攻击工具的原理就是想办法让服务器等待,当服务器在保持连接等待时,自然就消耗了资源。
二、下载安装
Kali Linux:
apt-get install slowhttptest
其他Linux发行版:
tar -xzvf slowhttptest-x.x.tar.gz
cd slowhttptest-x.x
./configure --prefix=PREFIX
make
sudo make install
PREFIX替换为应该安装slowhttptest工具的绝对路径。
需要安装libssl-dev才能成功编译该工具。
MacOS安装命令:
brew update && brew install slowhttptest
git安装:
git clone https://github.com/shekyan/slowhttptest
三、执行使用
默认参数测试
./slowhttptest
其回应的相关参数:
| test type | 测试类型 |
|---|---|
| number of connections | 连接数 |
| URL | 网址 |
| verb | 动词 |
| interval between follow up data | 随机数据之间的间隔 |
| connections per second | 每秒连接数 |
| test duration | 测试时间 |
| probe connection timeout | 探针连接超时 |
| max length of followup data field | 后续数据字段的最大长度 |
1、参数说明
| 选项 | 描述 |
|---|---|
| -a 开始 | 用于范围标头测试的range-specifier的起始值 |
| -b 字节 | 范围标题测试的范围说明符限制 |
| -c 连接数 | 限于65539 |
| -d 代理主机:端口 | 通过Web代理定向所有流量 |
| -e 代理主机:端口 | 用于仅通过Web代理定向探测流量 |
| -H,B,R或X | 指定在标头部分或消息正文中放慢速度,-R启用范围测试,-X启用慢速读取测试 |
| -f 内容类型 | 内容类型标头的值 |
| -g | 生成CSV和HTML格式的统计信息,格式为slow_xxx.csv / html,其中xxx是时间和日期 |
| -i 秒 | 每个连接的后续数据之间的间隔(以秒为单位) |
| -j cookie | Cookie标头的值(例如:-j“ user_id = 1001;超时= 9000”) |
| -k 流水线系数 | 如果服务器支持HTTP管道,则在同一连接中重复请求以进行慢速读取测试的次数。 |
| -l 秒 | 测试持续时间(以秒为单位) |
| -m 接受 | Accept标头的值 |
| -n 秒 | 从接收缓冲区读取操作之间的间隔 |
| -o 文件 | 定制输出文件的路径和/或名称,如果指定了-g,则有效 |
| -p 秒 | 等待探针连接上的HTTP响应超时,此后服务器被视为不可访问 |
| 每秒-r个连接 | 连接率 |
| -s 字节 | 如果指定了-B,则Content-Length标头的值 |
| -t 动词 | 要使用的自定义动词 |
| -u URL | 目标URL,与您在浏览器中键入的格式相同,例如http s:// host [:port] / |
| -v 级 | 日志0-4的详细级别 |
| -w 字节 | 范围的开始,将从中选择广告窗口大小 |
| -x 字节 | 随访数据的最大长度 |
| -y 字节 | 范围的末端,将从中选择广告窗口大小 |
| -z 字节 | 通过单个read()操作从接收缓冲区读取的字节 |
2、功能命令
slowloris模式:
slowhttptest -c 1000 -H -i 10 -r 200 -t GET -u https://yourtarget.com/index.html -x 24 -p 3
Slow Body攻击:
慢消息正文模式下的用法示例
slowhttptest -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://www.mywebsite.com -x 10 -p 3
Slow Read模式:
slowhttptest -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u http://yourtarget.co
慢节奏模式下的用法示例:
./slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u https://myseceureserver/resources/index.html -x 24 -p 3
通过在xxxx:8080上的代理进行探测:
./slowhttptest -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u http://someserver/somebigresource -p 5 -l 350 -e x.x.x.x:8080
3、错误信息
| 错误信息 | 这是什么意思 |
|---|---|
| "Hit test time limit" | 程序达到了用-l参数指定的时间限制 |
| "No open connections left" | 同行关闭了所有连接 |
| "Cannot establish connection" | 在测试的前N秒内未建立任何连接,其中N是-i参数的值,或者是10(如果未指定)。如果没有到主机的路由或远程对等体断开,则会发生这种情况 |
| "Connection refused" | 远程对等方不接受指定端口上的连接(仅来自您?使用代理进行探测) |
| "Cancelled by user" | 您按了Ctrl-C或以其他方式发送了SIGINT |
| "Unexpected error" | 永远不会发生 |
3、判断依据
- 当服务器可控,可以通过以下命令来确认是否存在该漏洞:
pgrep http | wc -l 进程数量
netstat -antp | grep 443 | wc -l 网络连接数量
- 在攻击的时间段,服务无法正常访问则存在漏洞。
slowhttptest慢速攻击工具使用详解的更多相关文章
- PowerShell攻防进阶篇:nishang工具用法详解
PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...
- Linux命令工具 top详解
Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...
- Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区
Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区 Lua包管理工具Luarocks详解
- [转]网络性能评估工具Iperf详解(可测丢包率)
原文链接:安全运维之:网络性能评估工具Iperf详解:http://os.51cto.com/art/201410/454889.htm 参考博文:http://linoxide.com/monito ...
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
来源: http://www.cnblogs.com/JustinYoung/archive/2009/04/03/kaifarenyuangongju2.html 在上一篇文章IE8“开发人员工具” ...
- IE8“开发人员工具”使用详解上(各级菜单详解)
来源: http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html IE8“开发人员工具”使用详解上(各 ...
- 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)
. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...
- 批量执行工具PSSH详解
批量执行工具PSSH详解 pssh是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,使用必须在各个服务器上配置好密钥认证访问. 安装pssh包 yum 安 ...
- 自动化运维工具——ansile详解
自动化运维工具——ansible详解(一) 目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ...
随机推荐
- Qt学习笔记-Qt5和Qt4在音频方面的不同-QtAV
之前学习qt4的时候,播放音频用的是phonon播放后端插件+mplayer. 今天改用qt5了.qt5中去掉了phonon模块加了multimedia.但是依然无法播放音乐,因为没有ffmpge s ...
- el-input限制只能输入数字(开发小记)
输入框中限制通常有三种处理方法 第一种:设置type属性(不推荐) 设置type属性为number,text等等,此方法输入框的后面会有不必要样式出现 <el-input type=" ...
- Adnc如何本地调试 - 一个轻量级的.Net Core微服务开发框架
前言 Adnc是一个轻量级的.Net Core微服务开发框架,同样适用于单体架构系统的开发. 如果只是想本地调试,只需要安装必备软件,必备软件除开发工具外,其它软件建议大家都使用`do ...
- try catch finally语句块中存在return语句时的执行情况剖析
2种场景 (1) try中有return,finally中没有return(注意会改变返回值的情形);(2) try中有return,finally中有return; 场景代码分析(idea亲测) 场 ...
- 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题…..
1.类加载过程 类加载时机 「加载」 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在内存上创建一个java.lang.Class对象用来封装类在方法区内的数据 ...
- Java安全之Weblogic 2016-3510 分析
Java安全之Weblogic 2016-3510 分析 首发安全客:Java安全之Weblogic 2016-3510 分析 0x00 前言 续前面两篇文章的T3漏洞分析文章,继续来分析CVE-20 ...
- 我的程序员之路:自学Java篇
序章 时光疾驰,从事IT行业已两年有余. 16年11月开始自学Java,从此开启自学之路,后来实习期自学大数据.python.爬虫等,最终成长为一名平凡的程序员.回首望去,一路上的过往历历在目,有初学 ...
- 服务器报错"您的主机中的软件中止了一个已建立的连接"
网上很多的说法都模棱两可,只是说和远程连接有关,这个说的太泛泛了. 我现在遇到的问题是java web出现的, 执行表单提交的时候出现该错误,原因是ajax和表单同时提交导致的, 相信很多朋友用了aj ...
- 【Redis3.0.x】NoSql 入门
Redis3.0.x NoSql 入门 概述 NoSQL(Not Only SQL ),即不仅仅是 SQL,泛指非关系型的数据库.NoSQL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑 ...
- 【C++】《C++ Primer 》第十八章
第十八章 用于大型程序的工具 大规模应用程序的特殊要求包括: 在独立开发的子系统之间协同处理错误的能力. 使用各种库进行协同开发的能力. 对比较复杂的应用概念建模的能力. 一.异常处理 异常处理(ex ...