Skip to content

CC漏洞利用工具

SlowHTTPTest

SlowHTTPTest GitHub地址

Centos7安装SlowHTTPTest

# 解决依赖
yum install gcc.x86_64 gcc-c++.x86_64 openssl-devel.x86_64 -y
yum install automake.noarch autoconf.noarch -y

# 安装slowhttptest
tar -xf slowhttptest-1.7.tar.gz && cd slowhttptest-1.7

./configure
make && make install

SlowHTTPTest参数说明

-H:SlowLoris模式
-B:Slow Post模式
-R:Range Header模式
-X:Slow Read模式

-g:在测试完成后,以时间戳为名生成一个cvs和html文件的统计数据
-o:指定输出文件名
-v:日志等级,0-4:Fatal、Info、Error、Warning、Debug

-c:测试时建立的连接数,默认为50
-i:在SlowLoris和Slow Post模式中,指定数据发送的间隔,默认为10
-l:测试维持时间,默认为240
-r:每秒连接个数,默认为50
-s:声明Content-Length header值,默认为4096
-t:http verb在请求时使用什么操作,默认为GET
-u:指定目标URL
-x:在SlowLoris和Slow Post模式中,指定发送的最大数据长度
-f:指定Content-Type Header,默认为application/x-www-form-urlencoded
-m:指定Accept Header,默认为text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

-d:为所有连接指定代理
-e:为探测连接指定代理
-p:指定等待时间来确认攻击已经成功

-a:header的左边界字节数,默认为5
-b:header的右边界字节数,默认为2000

-k:
-n:在Slow Read模式中,指定每次操作的时间间隔
-w:Slow Read模式中指定tcp窗口范围下限
-y:在Slow Read模式中指定tcp窗口范围上限,默认为32
-z:在每次的read()中,从buffer中读取数据量,默认为5


SlowHTTPTest测试案例

# slowloris模式
slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u https://host.example.com/index.html -x 24 -p 3

# slow post模式
slowhttptest -c 3000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://host.example.com/loginform.html -x 10 -p 3

# slow read模式
slowhttptest -c 8000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -u https://host.example.com/resources/index.html -p 3

slowloris

slowloris GitHub地址

Centos7安装slowloris

pip安装slowloris

source py3.7/bin/activate
pip install slowloris

非安装模式

git clone https://github.com/gkbrk/slowloris.git && cd slowloris
source py3.7/bin/activate
python slowloris.py

slowloris参数说明

-p PORT:指定端口,默认80
-s SOCKETS:套接字数量,默认150
-v:增加日志记录
-ua:对每个请求随机化UA参数
--proxy-host PROXY_HOST:SocketS5代理主机,默认127.0.0.1
--porxy-port PROXY_PORT:SocketS5代理端口,默认8080
--https:对请求使用https

SocketS5代理支持,需要额外安装PySocks Python模块
pip3 install PySocks

slowloris测试案例

python slowloris.py IP # 攻击http 80端口

python slowloris.py -p 443 --https IP # 攻击https 443端口