关于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 virtualenvpython3 -m venv myvenvsource myvenv/bin/activatepip3 install -r requirements.txtpython3 pfuzz.py --help
使用样例
查看帮助信息
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 -epython3 pfuzz.py -r request.txt -f -fe
设置多线程
python3 pfuzz.py -r request.txt -f -t 5
将结果输出至终端窗口
python3 pfuzz.py -r request.txt -f -o terminalpython3 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 2Usage: python3 pfuzz.py -r req.txt -f -l --proxy 127.0.0.1:8080 --output-details ~/output