Webアプリケーション向け高度なバックアップファイルアーティファクトテスト

BFAC(Backup File Artifacts Checker)は、Webアプリケーションのソースコードを露呈する可能性のあるバックアップアーティファクトをチェックする自動化ツールです。これらのアーティファクトは、パスワードやディレクトリ構造などの機密情報の漏洩につながる可能性もあります。
BFACの目標は、バックアップファイルアーティファクトのブラックボックステストのためのオールインワンツールとなることです。
| Description | Command |
|---|---|
| ヘルプ | bfac --help |
| 単一のURLをチェック。 | bfac --url http://example.com/test.php |
| URLのリストをチェック。 | bfac --list testing_list.txt |
| 異なるレベルの単一URL(例:レベル2)。 | bfac --url http://example.com/test.php --level 2 |
| 単一URLで結果のみ表示。 | bfac --no-text --url http://example.com/test.php |
| 公開されたDVCSテストにテストを限定。 | bfac --dvcs-test --url http://example.com/ |
| Content-Lengthチェックのみでファイルの存在を確認。 | bfac --detection-technique content_length http://example.com/test.php |
| ステータスコードチェックのみでファイルの存在を確認。 | bfac --detection-technique status_code http://example.com/test.php |
| 特定のステータスコードの結果を除外。 | bfac --exclude-status-codes 301,999 http://example.com/test.php |
import bfac
testing_level = 5
# Returns a list of BFA patterns for http://example.com/test.php
bfa_urls = bfac.generate_bfa_urls(
'http://example.com/test.php', testing_level=testing_level)
# Performs BFA testing using BFAC, and returns a list of findings, if any.
# If nothing is identified, it returns an empty list.
bfa_testing_result = bfac.test_url(
'http://example.com/test.php', testing_level=testing_level)
sudo python setup.py install
このプロジェクトは現在、Pythonが動作するすべてのプラットフォームをサポートしています。Python 2とPython 3の両方と互換性があります。
Q: BFACをすべてのレベルで使用するには?
A:
BFACはデフォルトですべてのレベルで動作します。使用するテストレベルを下げたい場合は、--levelフラグを低い値に設定することで可能です。
Q: BFACはファイルがWebサーバー上に実際に存在するかどうかをどのように判断しますか?
A: BFACの検出アプローチは通常のセキュリティツールとは異なります。
通常のセキュリティツールはHTTPステータスコードを確認してサーバー上のファイルの存在を判断します。システム管理者がセキュリティツールやボットを欺くためにHTTPリクエストのステータスコードを偽装する可能性があるため、BFACは追加の方法を実装しました。
無効または利用できないWebリソースの一般的な応答をチェックします。その後、リクエストを送信し、そのリクエストの応答サイズを初期ベースと比較します。
--detection-technique allはHTTPステータスコードチェックとHTTP Content-Lengthの両方の方法を使用します。--detection-technique status_code: HTTPステータスコードチェックのみを使用します。--detection-technique content_length: HTTP Content-Lengthチェックのみを使用します。BFACプロジェクトへのコミュニティからの貢献を大歓迎します。バグを見つけた場合、機能のアイデアがある場合、コードをより良く動作させるための再構築のアイデア、その他何かあれば、遠慮なくIssueまたはPull Requestを送信してください。
Issueトラッカーはバグ報告と機能リクエストのための推奨チャネルです。
このプロジェクトは教育および倫理的なテスト目的のみで作成されています。事前の相互同意なしにターゲットを攻撃するためにBFACを使用することは違法です。適用されるすべての地域、州、連邦法を遵守するのはエンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害についても責任を負いません。
このプロジェクトは現在GNU GPLv3.0ライセンスの下で配布されています。
Mazin Ahmed