Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/redsection/pfuzz
WAFバイパスウェブセキュリティファジングペネトレーションテストレッドチーミング
GitHubredsection/pfuzz

pFuzz

モジュール式のWAFバイパスファザーで、マルチスレッド、リクエスト操作、ペイロードエンコーディングを備え、レッドチームのWebアプリケーションテスト向け。

リポジトリを見る
161315年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

pFuzzとは ❓

pFuzzは、私たちが研究用に開発した高度なレッドチームファジングツールです。異なる手法を同時に使用することで、Webアプリケーションファイアウォールをバイパスするのに役立ちます。

pFuzzは、Webアプリケーション研究のために開発した高度なファジングツールです。さまざまなセキュリティアプリケーション上で多様な攻撃手法を試すプロセスを高速化するために開発されました。

説明 [EN]

pFuzzは、Webアプリケーション研究において高度なファジング機能を実現するためにPython言語で開発されたツールです。アプリケーションはモジュラー構造を持っているため、新しく発見された/発見されるであろうWAFバイパス手法をpFuzzに迅速に追加し、他のすべてのWAFでテストする機能を備えています。モジュラー構造に加え、マルチスレッド、マルチプロセス、キュー構造を使用してツールをより柔軟にし、将来の開発のための基盤が構築されています。

このツールは、与えられたリクエストを解析し、オブジェクトを介して簡単に変更できるようにプログラムされています。この構造により、アプリケーションを開発する人は、アプリケーションのコア構造を変更したり学んだりすることなく、簡単に貢献でき、自分のニーズに合わせてアプリケーションを開発することができます。


注記: 開発に貢献したい場合は、pFuzzのコア開発だけでなく、新しいモジュールを追加することでも貢献できます。 お気軽に新しいPRを開いてください :)


説明 [TR]

pFuzz、Webアプリケーション研究において高度なファジング能力を持つためにPython言語で開発されたツールです。アプリケーションはモジュラー構造を持つため、新しく発見された/発見されるであろうWAFバイパス手法をpFuzzに迅速に追加し、他のすべてのWAF上でもテストする能力を持っています。モジュラー構造に加え、マルチスレッド、マルチプロセス、キューなどの構造を使用してツールをより柔軟にし、将来の開発のための基盤が構築されています。

アプリケーションは、与えられたリクエストを解析してオブジェクトを介して簡単に変更できるようにプログラムされています。この構造により、アプリケーションを開発する人はアプリケーションのコア構造を変更したり学んだりすることなく、簡単に貢献でき、自分のニーズに合わせてアプリケーションを開発できます。


注記: 開発に貢献したい場合は、コア開発だけでなく、新しいモジュールを追加することでも貢献できます。 新しいPRをお待ちしています :)


root@kitploit:~
        _____                 
 _ __  |  ___|_   _  ____ ____
| '_ \ | |_  | | | ||_  /|_  /
| |_) ||  _| | |_| | / /  / / 
| .__/ |_|    \__,_|/___|/___|
|_|                           

開発者 💁


Emre Övünç


Mert Taşçı


Evren Yalçın

フロー 📋

pFuzz

インストールと使用法 📚

root@kitploit:~
sudo pip3 install virtualenv
python3 -m venv myvenv
source myvenv/bin/activate
pip3 install -r requirements.txt
python3 pfuzz.py --help

依存関係:

root@kitploit:~
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

使用法

  • ヘルプ
root@kitploit:~
python3 pfuzz.py --help
  • ヘッダ操作モジュール
root@kitploit:~
python3 pfuzz.py -r request.txt -m
  • 文字ファジングモジュール
root@kitploit:~
python3 pfuzz.py -r request.txt -cf
  • ファジングモジュール
root@kitploit:~
python3 pfuzz.py -r request.txt -f
  • プロキシ追加
root@kitploit:~
python3 pfuzz.py -r request.txt -f --proxy 127.0.0.1:8080
  • リクエスト間の遅延追加
root@kitploit:~
python3 pfuzz.py -r request.txt -f -d 3
  • TLS/SSL接続を有効化
root@kitploit:~
python3 pfuzz.py -r request.txt -f -s
  • ログ記録を有効化
root@kitploit:~
python3 pfuzz.py -r request.txt -f -l
  • ペイロードエンコード/フルエンコード機能を有効化
root@kitploit:~
python3 pfuzz.py -r request.txt -f -e
root@kitploit:~
python3 pfuzz.py -r request.txt -f -fe
  • マルチスレッド設定
root@kitploit:~
python3 pfuzz.py -r request.txt -f -t 5
  • ターミナル出力
root@kitploit:~
python3 pfuzz.py -r request.txt -f -o terminal
root@kitploit:~
python3 pfuzz.py -r request.txt -f -od terminal
  • ファイル出力
root@kitploit:~
python3 pfuzz.py -r request.txt -f -o ~/Desktop/
root@kitploit:~
python3 pfuzz.py -r request.txt -f -od ~/tmp/

ヘルプ 💻

root@kitploit:~
              _____                 
       _ __  |  ___|_   _  ____ ____
      | '_ \ | |_  | | | ||_  /|_  /
      | |_) ||  _| | |_| | / /  / / 
      | .__/ |_|    \__,_|/___|/___|
      |_|
   ------------------------------------
   @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             show this help message and exit
  --proxy/-p    PROXY   proxy [IP:PORT]
  --log/-l              enable logging
  --ssl/-s              enable ssl
  --threads/-t  NUMBER  thread(s) number [default=1]
  --version/-v          show program's version number and exit
  
[Request Options]:  
  --request/-r  REQUEST request file
  --delay/-d    TIME    set a delay between requests [default=0.05]
  --encode/-e           encode space chars in uri/body
  --full-encode/-fe     encode all chars in uri/body
  
[Output Options]:
  --output/-o   OUTPUT  output important info [terminal/folder name]
  --output-details/-od OUTPUT
                        output all details [terminal/folder name]
                        
[Modules]:
  --fuzz/-f             run fuzzing module
  --charfuzz/-cf        run char fuzzing module
  --manipulate/-m       run manipulating headers module

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

おまけ 📢

新しいモジュールの開発方法

  • modules/ フォルダ内に、モジュール名を指定したPythonファイルを作成します。
root@kitploit:~
- modules
        - charfuzzer.py
        - exparse.py
        - fuzzer.py
        - headeroperations.py
        - manupilatingheaders.py
  • 解析されたオブジェクトは、次のように使用できます: myreq = HTTPReq.getobj()
root@kitploit:~
from reqparser import HTTPReq
myreq  = HTTPReq.getobj()
  • HTTPReq クラスから派生した多くの属性があります。reqparser.py で確認できます。
root@kitploit:~
...
myreq.uri
myreq.body
myreq.http
myreq.referer
myreq.origin
myreq.host
myreq.cookie
...
  • Excelからペイロードを取得する場合は、modules.exparse の getpayloads メソッドを使用できます。

    • getpayloads(fuzzsheetName, genericcolmnName, fuzzingpayloads)
    root@kitploit:~
    from modules.exparse import getpayloads
    getpayloads(fuzzsheetName, genericcolmnName, fuzzingpayloads)
    
    • static/ フォルダの statics.py に、fuzzsheetName などの静的オブジェクトを設定しています。
    root@kitploit:~
    # Fuzzing Module in static/statics.py
    fuzzsheetName   = 'Fuzzing'
    genericcolmnName = 'Payload'
    fuzzingpayloads = []
    
  • あとは、任意の属性を変更/追加/削除できます。

root@kitploit:~
myreq.uri = tmpuri + payload
myreq.addheader(header, "127.0.0.1")
myreq.content_type = "text/html"
  • マルチスレッドを停止するには、ペイロードの最後に #exitme# を追加し、statics.exitCall = True を設定して、キューが空かどうかを確認します。
root@kitploit:~
from modules.exparse import getpayloads
for payload in fuzzingpayloads:
if payload == '#exitme#':
    statics.exitCall = True
else:
    [OPERATIONS]
  • オブジェクト(リクエスト)を送信する準備ができたら、sendit() 関数を使用してキューに入れます。
root@kitploit:~
from reqsender import sendit
sendit(myreq)
  • pFuzzのコア関数を変更する必要がある場合は、プルリクエストを開始するか、issueを開いてください。

新しいモジュール開発のための重要な関数


どのWAFをバイパスしましたか?

  • FortiWeb
  • Cloudflare
  • Sucuri
  • Akamai
  • Imperva
  • F5 WAF
ツールをダウンロード
目的モジュール/クラス関数パラメータ
リクエストを送信するreqsender.py sendit()オブジェクト
リクエストオブジェクトを使用するreqparser.py/HTTPReq getobj()  -
カスタムヘッダーを追加するreqparser.py/HTTPReq OBJECT.addheader() 新しいヘッダー名,値
ヘッダーを削除するreqparser.py/HTTPReq OBJECT.delheader() ヘッダー名
ヘッダーを変更するreqparser.py/HTTPReq OBJECT.changeheader()ヘッダー名,新しいヘッダー名
ファイルからペイロードを取得するexparse.py getpayloads() シート名,列名
ログ情報/デバッグ/警告を書き込むwaflogger.py loginfo/logdebug/logwarn() ログメッセージ