关于 pFuzz
pFuzz 是一款功能强大的 Web 应用程序防火墙安全检测/绕过工具,可以帮助广大研究人员同时通过多种方式绕过目标 Web 应用程序防火墙,以测试 WAF 的安全性。
pFuzz 本质上是一款高级红队模糊测试工具,主要用于研究目的。pFuzz 基于 Python 编程语言开发,可以帮助广大研究人员在 Web 应用程序安全研究方面提供高级模糊测试能力。该工具采用模块化结构开发,因此我们可以快速向 pFuzz 添加新的功能模块或绕过方法,并对其他 WAF 进行测试。除了模块化结构之外,pFuzz 还使用了多线程、多处理和队列结构,使工具更加灵活,并为未来的开发奠定了强大而稳定的基础设施。
私信回复“资料”获取安全工具级资料
工具机制流程
支持绕过的 Web 应用防火墙
FortiWeb
Cloudflare
Sucuri
Akamai
Imperva
F5 WAF
依赖组件
cffi==1.14.3
cryptography==3.1.1
numpy==1.19.2
pandas==1.1.3
pycparser==2.20
pyOpenSSL==19.1.0
python-dateutil==2.8.1
pytz==2020.1
six==1.15.0
xlrd==1.2.0
工具安装和使用
sudo pip3 install virtualenv
python3 -m venv myvenv
source myvenv/bin/activate
pip3 install -r requirements.txt
python3 pfuzz.py --help
复制代码
使用样例
查看帮助信息
修改 Header 模块
python3 pfuzz.py -r request.txt -m
复制代码
字符模糊测试模块
python3 pfuzz.py -r request.txt -cf
复制代码
模糊测试模块
python3 pfuzz.py -r request.txt -f
复制代码
添加代理
python3 pfuzz.py -r request.txt -f --proxy 127.0.0.1:8080
复制代码
在请求间添加延迟间隔
python3 pfuzz.py -r request.txt -f -d 3
复制代码
启用 TLS/SSL 连接
python3 pfuzz.py -r request.txt -f -s
复制代码
启用日志
python3 pfuzz.py -r request.txt -f -l
复制代码
启用 Payload 编码/完整编码
python3 pfuzz.py -r request.txt -f -e
python3 pfuzz.py -r request.txt -f -fe
复制代码
设置多线程
python3 pfuzz.py -r request.txt -f -t 5
复制代码
将结果输出至终端窗口
python3 pfuzz.py -r request.txt -f -o terminal
python3 pfuzz.py -r request.txt -f -od terminal
复制代码
将结果输出至文件
python3 pfuzz.py -r request.txt -f -o ~/Desktop/
python3 pfuzz.py -r request.txt -f -od ~/tmp/
复制代码
工具帮助
____
_ __ | ___|_ _ ____ ____
| '_ \ | |_ | | | ||_ /|_ /
| |_) || _| | |_| | / / / /
| .__/ |_| \__,_|/___|/___|
|_|
------------------------------------
@EmreOvunc | @merttasci | @xsuperbug
------------------------------------
v0.2.4
------------------------------------
usage: pfuzz.py [-h] [--request REQUEST] [--proxy PROXY] [--log] [--ssl]
[--threads THREADS] [--output OUTPUT] [--delay TIME]
[--output-details OUTPUT] [--full-encode] [--encode]
[--fuzz] [--charfuzz] [--manipulate] [--version]
optional arguments:
--help/-h 显示帮助信息并退出
--proxy/-p PROXY 设置代理[IP:PORT]
--log/-l 启用日志
--ssl/-s 启用
--threads/-t NUMBER 多线程数量[默认=1]
--version/-v 显示程序版本信息并退出
[Request Options]:
--request/-r REQUEST 请求文件
--delay/-d TIME 请求之间的延迟间隔[默认=0.05]
--encode/-e 编码URI/Body中的空格字符
--full-encode/-fe 编码URI/Body中的所有字符
[Output Options]:
--output/-o OUTPUT 输出重要信息[终端/文件夹名称]
--output-details/-od OUTPUT
输出所有详细信息[终端/文件夹名称]
[Modules]:
--fuzz/-f 运行模糊测试模块
--charfuzz/-cf 运行字符模糊测试模块
--manipulate/-m 运行Header篡改模块
Usage: python3 pfuzz.py -r req.txt --log -s --fuzz -d 1 --encode -o terminal --threads 2
Usage: python3 pfuzz.py -r req.txt -f -l --proxy 127.0.0.1:8080 --output-details ~/output
复制代码
评论