freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性
2021-11-26 17:50:50

关于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

使用样例

查看帮助信息

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

项目地址

pFuzz:GitHub传送门

# 模糊测试 # waf绕过 # WAF安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录