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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Upload_Bypass — ファイルアップロード制限をバイパスするためのシンプルなツール。 | Kitploit
ツール/GitHubGitHub/sajibuu/upload_bypass
脆弱性スキャナーペイロード生成エクスプロイトウェブセキュリティペネトレーションテスト
GitHubsajibuu/upload_bypass

Upload_Bypass

ファイルアップロード制限をバイパスするためのシンプルなツール。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Upload_Bypass v3

GPL-3.0 License 287245591-b1f3cdd6-3d00-4bbb-94c1-38a9204add71

概要

Upload Bypass は、ペネトレーションテスターやバグハンターがファイルアップロードの仕組みをテストするのを支援するために設計されたシンプルなツールです。さまざまなバグバウンティの手法を活用して、脆弱性の特定と悪用のプロセスを簡素化し、Webアプリケーションの徹底的な評価を確実に行います。

開発者: Sagiv

2024-02-18_20h04_06

🚀 アップデート

  • コードはほぼゼロから書き直され、より優れたファイル解析を利用し、ほとんどのバグを排除しています。
  • モジュール化されたコード!これでコードに貢献して独自のモジュールを追加できます。
  • 3つの異なるモード(検出、悪用、アンチマルウェアチェック)を導入。自分の武器を選んでください!
  • 新しい状態機能:コードを一時停止し、中断したところから再開できます!
  • 見やすい新しいUI。
  • 簡単なデプロイのためのDockerファイル。
  • 内部テスト用のさまざまなテストファイルを提供。
  • デバッグモード。バグに遭遇した場合、スタックトレースを保存してさらに分析のために私と共有できます。

注意

このツールはOSCP試験では禁止されています!

機能

検出モード:

実際のペネトレーションテストに適しています。このモードでは無害なファイルをアップロードし、ターゲットの悪用を試みません。

新機能 - アップロードされたファイルの保存先フォルダが指定された場合、プログラムはアップロードされたサンプルファイルがレンダリングされるかどうかを判断します。 例えば、PHPを選択した場合、プログラムはechoコマンドが実行され正常にレンダリングされるかを判断しようとします。もし成功すれば、インタラクティブシェルへの入力を提案します。

悪用モード:

ターゲットを悪用し、インタラクティブなWebシェルをアップロードしたい場合に適しています(アップロード先ディレクトリが指定されている場合)。ファイルはランダムなUUIDでアップロードされるため、ファジングツールによる推測が難しくなります。

アンチマルウェアモード:

アンチマルウェアの存在確認テストに適しています。システムにEicar(アンチマルウェアテストファイル)をアップロードし、ユーザーがアップロードされたファイルの場所を指定すると、プログラムはファイルが正常にアップロードされシステムに存在するかを確認し、システムにアンチマルウェアが存在するかどうかを判断します。

カスタマイズ

libディレクトリのconfig.pyを確認してください。新しい拡張子、MIMEタイプ、マジックバイトを追加したり、HTTP/HTTPSプロトコルの使用を設定したりできます。

新しいモジュールを追加するには、modules.pyに希望の機能を持つ関数を追加し、config.pyのリスト"active_modules"に関数名を追加するだけです。

新しいファイル拡張子を追加するには、assets/sample_filesにsample.{ext}ファイルを追加し、その拡張子とMIMEタイプ/マジックバイトをconfig.pyに追加します。

ダウンロード:

root@kitploit:~
git clone https://github.com/sAjibuu/Upload_Bypass.git

インストール:

root@kitploit:~
pip install -r requirements.txt

Docker Hubからのインストール

root@kitploit:~
sudo docker pull sajibuu/upload_bypass 

ローカルのDockerファイルからのインストール

root@kitploit:~
sudo docker build -t sajibuu/upload_bypass .

Docker使用例

プロキシなしの例:

root@kitploit:~
sudo docker run -v $(pwd)/request:/Upload_Bypass/{your_request_file} -it sajibuu/upload_bypass -r request -s 'file was uploaded successfully' -E php -e

プロキシ使用例:

すべてのインターフェースでポート8080をリッスンするようにしてください!

root@kitploit:~
sudo docker run -v $(pwd)/request:/Upload_Bypass/{your_request_file} -it sajibuu/upload_bypass -r request -s 'file was uploaded successfully' -E php -e -p http://{docker_interface_IP}:8080

制限事項:

このツールは以下の場合に正しく機能しません:

  1. CAPTCHA実装が行われている場合。
  2. 各リクエストにCSRFトークンが必要な場合。
  3. アップロードされたファイルの保存先フォルダが指定されているが、ファイルが実際のファイル名ではなくGUID(グローバル一意識別子)で保存される場合、プログラムはインタラクティブシェルに入ることができません。

免責事項

Upload Bypassの使用およびそれに伴う行動はすべて自己責任で行われることにご注意ください。このツールは教育およびテスト目的でのみ提供されています。Upload Bypassの開発者は、その使用によって引き起こされる誤用、損害、または違法行為について一切の責任を負いません。

使用方法:

注意

プログラムはBurp SuiteやZAP OWASPなどのプロキシツールによって生成されたリクエストファイルでのみ動作します。

使用しているプロキシ(例:Burp Suite)からリクエストファイルを保存する前に、以下のパラメータ値を対応するマーカーに置き換えてください:

ファイルコンテンツ: *data*

例:画像のバイナリデータを文字列**data**に置き換えます

ファイル名: *filename*

例:拡張子を含むファイル名を文字列**filename**に置き換えます

Content-Typeヘッダー: *mimetype*。

例:ファイルのコンテンツタイプ(MIMEタイプ)を文字列**mimetype**に置き換えます

例1:

JSONリクエストでの見え方:

image

例2:

マルチパートデータリクエストでの見え方:

2024-02-27_11h20_23

ユーザーオプション:

root@kitploit:~

Usage: Upload Bypass [OPTIONS]

Options:
  -h, --help     Print help (see more with '--help')
  -U, --usage   Print the how to save the request file instructions.
  -v, --version  Print version

Required Arguments: 
  -r, --request_file <REQUEST_FILE>    Provide a request file to be proccessed
  -E, --extension    <EXTENSION>       Forbidden extension to check (ex: php)
  -A, --allowed      <EXTENSION>       Allowed extension (ex: jpeg) - Optional - if not set the program will auto-detect the extension

  Choose only one from the options below:
  -s, --success      <MESSAGE>         Provide a success message when a file is uploaded (ex: File was uploaded successfully)
  -f, --failure      <MESSAGE>         Provide a failure message when a file is uploaded (ex: File is not allowed!)
  -S, --status_code  <STATUS_CODE>     Provide a status code for a success upload (ex: 200)

Mode Settings: 
  -d, --detect          Upload harmless sample files (Suitable for a real penetration test)
  -e, --exploit         Upload Web-Shells files when testing
  -a, --anti_malware    Upload Anti-Malware Test file (Eicar) when testing
      I.  If set with -E flag the program will test with the Eicar string along with the choosen extension
      II. If set without the -E flag the program will test with Eicar string and a com extension

Modules Settings:     
  -l, --list            List all modules  
  -i, --include_only <MODULES>   Include only modules to test from (ex: extension_shuffle, double_extension)
  -x, --exclude      <MODULES>   Exclude modules (ex: svg_xxe, svg_xss)

Request Settings: 
  --base64              Encode the file data with Base64 algorithm
  --allow_redirects     Follow redirects
  -P, --put             Use the HTTP PUT method for the requests (Default is POST)
  -Pa, --patch          Use the HTTP Patch method for the requests (Default is POST)
  -R, --response        Print the response to the screen
  -c, --continue        Continue testing all files, even if a few uploads encountered success
  -t, --time_out <NUM>  Set the request timeout (Default is 8)
  -rl, --rate_limit <NUMBER>  Set a rate-limit with a delay in milliseconds between each request

Proxy Settings: 
  -p, --proxy <PROXY>   Proxy to use for requests (ex: http(s)://host:port, socks5(h)://host:port)
  -k, --insecure        Do not verify SSL certificates
  --burp_http           Set --proxy to 127.0.0.1:8080 and set --insecure to true (For HTTP requests)
  --burp_https          Set --proxy to 127.0.0.1:8080 and set --insecure to false (For HTTPs requests)

Optional Settings: 
  -D, --upload_dir <UPLOAD_DIR>  Provide a remote path where the Web-Shell should be uploaded (ex: /uploads)
  -o, --output  <OUTPUT_PATH>    Output file to write the results into - Default current directory (ex: ~/Desktop/results.txt)
  --debug  <NUM>                 Debug mode - Print the stack trace error to the screen and save it to a file (ex: --debug 1)
      I.  Level 1 - Saves only the stack trace error (default).
      II. Level 2 - Saves the stack trace error and user's arguments along with the request file.
  
Resume settings:
  --resume  <STATE_FILE>  State file from which to resume a partially complete scan

Update settings:
  -u, --update  Update the program to the latest version

使用例

検出モード

root@kitploit:~
 python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --detect

悪用モード

root@kitploit:~
 python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --exploit

アンチマルウェアモード

root@kitploit:~
 python upload_bypass.py -r test -s 'File uploaded successfully' -E php -D /uploads --burp --anti_malware   

問題が発生した場合

問題が発生した場合は、フラグ値2でデバッグモードを使用し、私と共有してください(デバッグファイルはユーザー指定の引数、提供されたリクエストファイル、スタックトレースエラーとともに保存されます)。ファイルに機密情報が含まれている場合は、フラグ値1を使用できます。その場合、スタックトレースエラーのみがファイルに保存されます。

コントリビューション

コードに貢献したい場合は、追加した内容とその理由を正確に明記し、マージリクエストを送信する前に複数のテストを実行してください。

クレジット

  • Hacktricks - このツールで使用されている貴重な技術と洞察を提供してくれたことに特別な感謝を捧げます。
  • Artemixer - 私のツールの軽量バージョンでインスピレーションを与え、コード全体を書き直してモジュール化するきっかけを与えてくれてありがとう!
ツールをダウンロード