
これは、指定されたターゲットに対して、エンドポイントの発見、潜在的なパラメータの発見、ターゲット固有のワードリストの生成、シークレットの検出を行うためのツールです。以下を通じてこれらを発見できます。
waymore -mode R のアーカイブ応答ファイルの検索、waymore.txt からのURLリクエスト、waymore_index.txt からの元のURLのリクエストも含む - waymore README.md を参照)このPythonスクリプトは、私のBurp拡張機能 GAP のリンク検出機能に基づいています。出発点として、Gerben Javadoによる素晴らしいツール LinkFinder を取り上げ、リンク検出のための正規表現を使用しつつ、さらに多くのリンクを見つけるための追加の改良を加えています。
xnLinkFinder は Python 3 をサポートしています。
デフォルト(グローバル)のPython環境に xnLinkFinder をインストールしてください。```bash
pip install xnLinkFinder
または```bash
pip install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git -v
以下の方法でアップグレードできます
pip install --upgrade xnLinkFinder
```
### pipx
[pipx](https://pypa.github.io/pipx/) を使用した隔離されたPython環境でのクイックセットアップ```bash
pipx install git+https://github.com/xnl-h4ck3r/xnLinkFinder.git
```
**注記:PDFファイルからリンクを抽出するには、システムに`pdftotext`をインストールすることができます。Linuxでは`sudo apt install -y poppler-utils`、macOSでは`brew install poppler`を使用してインストールできます。`pdftotext`がインストールされていない場合、`xnLinkFinder`は`pypdf` Pythonライブラリを使用してフォールバックします。テキストが見つからない場合(例:スキャンされたPDF)、インストールされていれば`ocrmypdf`の使用を試みます(例:`sudo apt install -y ocrmypdf`)。一般に、`pdftotext`と`ocrmypdf`を使用すると、`pypdf`単独よりもはるかに良い結果が得られます。**
## 使用方法| 引数 | 長い引数 | 説明 |
| ----------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -i | --input | 入力: URL、URLのテキストファイル、検索するファイルのディレクトリ、Burp XML出力ファイル、ZAP出力ファイル、Caido CSVファイル、HAR JSONファイル、または内容を検索する単一のファイル。 |
| -o | --output | リンク出力を保存するファイル(必要に応じてパスを含む)(デフォルト: output.txt)。`cli` に設定すると、出力はSTDOUTにのみ書き込まれます。ファイルが既に存在する場合、`-ow`オプションが渡されない限り、追記されます(重複は除去されます)。 |
| -op | --output-params | 潜在的なパラメータ出力を保存するファイル(必要に応じてパスを含む)(デフォルト: parameters.txt)。`cli` に設定すると、出力はSTDOUTにのみ書き込まれます(ただし、他のプログラムにパイプされません)。ファイルが既に存在する場合、`-ow`オプションが渡されない限り、追記されます(重複は除去されます)。 |
| -owl | --output-wordlist | ターゲット固有のワードリスト出力を保存するファイル(必要に応じてパスを含む)(デフォルト: ワードリスト出力なし)。`cli` に設定すると、出力はSTDOUTにのみ書き込まれます(ただし、他のプログラムにパイプされません)。ファイルが既に存在する場合、`-ow`オプションが渡されない限り、追記されます(重複は除去されます)。 |
| -oo | --output-oos | スコープ外リンクの出力を保存するファイル(必要に応じてパスを含む)(デフォルト: OOS出力なし)。`cli` に設定すると、出力はSTDOUTにのみ書き込まれます(ただし、他のプログラムにパイプされません)。ファイルが既に存在する場合、`-ow`オプションが渡されない限り、追記されます(重複は除去されます)。 |
| -os | --output-secrets | レスポンスで見つかったシークレットを保存するファイル(JSON形式)(必要に応じてパスを含む)(デフォルト: シークレット出力なし)。ファイルが既に存在する場合、`-ow`オプションが渡されない限り、シークレットはマージされます。シークレットはタイプと値でグループ化され、それぞれが見つかったソースの配列を持ちます。 |
| -ow | --output-overwrite | 出力ファイルが既に存在する場合、追記ではなく上書きされます。 |
| -sp | --scope-prefix | `/` で始まるリンクは、元のリンクの代わりにスコープドメインが先頭に付加されて出力されます。渡された値が有効なファイル名の場合、そのファイルが使用され、そうでない場合は文字列リテラルが使用されます。 |
| -spo | --scope-prefix-original | `-sp` 引数が渡された場合、`/` で始まる元のリンクも出力に含めるかどうかを決定します(デフォルト: false) |
| -spkf | --scope-prefix-keep-failed | `-spkf` 引数が渡された場合、404またはRequestExceptionが発生した場合でも、プレフィックスが付いたリンクを出力に残すかどうかを決定します(デフォルト: false) |
| -sf | --scope-filter | リンクのドメインが指定されたスコープ内にある場合のみ、出力リンクをフィルタリングします。渡された値が有効なファイル名の場合、そのファイルが使用され、そうでない場合は文字列リテラルが使用されます。この引数は、入力がドメイン/URL(またはドメイン/URLのファイル)の場合、スコープ外のサイトのクロールや誤解を招く結果を防ぐために必須になりました。 |
| -c | --cookies † | HTTPリクエストに渡すクッキーを追加します。形式は `'name1=value1; name2=value2;'` で渡します。 |
```