
git clone https://github.com/devanshbatham/openredirex
cd openredirex
sudo chmod +x setup.sh
./setup.sh
このスクリプトはコマンドラインから実行され、以下の使用オプションがあります:
openredirex [-p payloads] [-k keyword] [-c concurrency]
-p, --payloads: ペイロードのリストを含むファイル。指定されていない場合は、ハードコードされたリストが使用されます。-k, --keyword: ペイロードで置き換えるURL内のキーワード。デフォルトは"FUZZ"です。-c, --concurrency: 並行タスクの数。デフォルトは100です。このスクリプトは、URLのリストを入力として想定しています。各URLには、-kオプションで指定されたキーワードが含まれている必要があります。スクリプトはキーワードを各ペイロードで置き換え、変更されたURLを取得しようとします。
使用例:
cat list_of_urls.txt | openredirex -p payloads.txt -k "FUZZ" -c 50
URLのリストは以下のようになります:
cat list_of_urls.txt
https://newsroom.example.com/logout?redirect=FUZZ
https://auth.example.com/auth/realms/sonatype/protocol/openid-connect/logout?redirect_uri=test
https://exmaple.com/php?test=baz&foo=bar
この例では、ファイルlist_of_urls.txtからURLを読み取り、すべてのパラメータの値をFUZZに置き換えます(--keywordが指定されていない場合)。次に、キーワードFUZZまたは指定されたキーワードをpayloads.txtの各ペイロードで再度置き換え、最大50の並行タスクで各URLを同時に取得します。
このスクリプトは以下のライブラリを使用します:
argparse:コマンドライン引数を処理するため。aiohttp:HTTPリクエストを行うため。tqdm:進捗状況を表示するため。concurrent.futures:並行タスクを処理するため。asyncio:非同期タスクを管理するため。スクリプトを実行する前に、これらの依存関係をインストールする必要があります。ほとんどは標準のPythonライブラリの一部です。aiohttpとtqdmはpipを使ってインストールできます:
pip install aiohttp tqdm
このスクリプトを使用して、Webアプリケーションのオープンリダイレクトを確認できます。ただし、テストする明示的な許可が与えられたシステムでのみ使用する必要があります。