このツールは Pterodactyl パネルのインスタンスをスキャンし、そのデータベース設定情報の取得を試みます。特定のパストラバーサル脆弱性を悪用することで、パネルの機密設定データを取得できます。
本プロジェクトは高性能なHTTPリクエストツールであり、インターネット上に公開されている Pterodactyl パネルインスタンスの設定情報を検出・収集するために特化しています。対象サーバーに特定のリクエストを送信し、レスポンスにデータベース設定情報が含まれているかを確認し、結果を分類して保存します。
requests ライブラリを使用してHTTPリクエストを行うaiohttp を使用して非同期リクエストをサポートThreadPoolExecutor を使用してマルチスレッド処理を実現.
├── main.py # 主程序文件
├── url.txt # 目标主机列表文件
├── json/ # 输出目录
│ ├── ✔️正确/ # 包含目标数据的结果保存目录
│ └── ❌错误/ # 错误或无效结果保存目录
└── README.md # 项目说明文档
プログラムを実行する前に、必要なPythonライブラリをインストールする必要があります:
pip install requests aiohttp urllib3
python main.py
デフォルトでは url.txt ファイル内のホストリストを読み取り、マルチスレッドモードで処理します。
python main.py [--file FILE] [--mode MODE] [--workers WORKERS]
パラメータ説明:
-f, --file: ホストリストファイルのパスを指定(デフォルト: url.txt)-m, --mode: 実行モード、選択可能な値: threading(マルチスレッド), async(非同期), single(シングルスレッド)(デフォルト: threading)-w, --workers: ワーカースレッド数(デフォルト: 5)# 使用默认设置
python main.py
# 指定自定义主机文件
python main.py --file hosts.txt
# 使用异步模式处理
python main.py --mode async
# 使用单线程模式
python main.py --mode single
# 设置工作线程数为10
python main.py --workers 10
main.py ファイル内の Config クラスで以下の設定を変更できます:
PROXY: プロキシサーバーアドレス(デフォルト: http://127.0.0.1:7899)TIMEOUT: リクエストタイムアウト時間(デフォルト: 30秒)MAX_RETRIES: 最大リトライ回数(デフォルト: 3回)MAX_WORKERS: 最大ワーカースレッド数(デフォルト: 5)USER_AGENT: リクエストUser-Agent(デフォルト: Mozilla/5.0 Windows AppleWebKit/537.36)/locales/locale.json パスへHTTP GETリクエストを送信しますlocale: ../../../pterodactylnamespace: config/databasejson/✔️正确/json/❌错误/結果はJSON形式で保存され、以下の情報を含みます:
success: リクエストが成功したかどうかstatus_code: HTTPステータスコードresponse_time: レスポンス時間url: 実際のリクエストURLheaders: レスポンスヘッダー情報data: レスポンスデータsize: レスポンスサイズcontains_target_data: 対象データを含むかどうかdatabase_info: 抽出されたデータベース情報プログラムの実行完了後、詳細な統計情報が表示されます: