
能動的スキャンを行わずに効率的かつ包括的なWebアセット発見に最適化された、URLを受動的に収集する高速ツール。
アクティブスキャンを行わずに効率的なWebアセット発見を実現する、パッシブURL収集のための高速ツール。
機能 • インストール • 使い方 • 使用例 • Discordに参加
URLFinderは、ペネトレーションテスター、セキュリティ研究者、開発者にとって理想的な、高速かつパッシブなURL発見ツールです。アクティブスキャンなしでWebアセットの発見を簡素化・高速化します。
URLFinderを使用するには Go 1.21 が必要です。以下のコマンドでインストールするか、リリースページからプリコンパイル済みバイナリをダウンロードしてください。
go install -v github.com/projectdiscovery/urlfinder/cmd/urlfinder@latest
urlfinder -h
このコマンドはURLFinderのヘルプを表示します。以下は一般的なスイッチとオプションです。
A streamlined tool for discovering associated URLs.
Usage:
./urlfinder [flags]
Flags:
INPUT:
-d, -list string[] target domain or list of domains
SOURCE:
-s, -sources string[] specific sources for discovery (e.g., -s alienvault,commoncrawl)
-es, -exclude-sources string[] sources to exclude (e.g., -es alienvault,commoncrawl)
-all use all sources (may be slower)
SCOPE:
-us, -url-scope string[] in scope url regex to be followed by urlfinder
-uos, -url-out-scope string[] out of scope url regex to be excluded by urlfinder
-fs, -field-scope string pre-defined scope field (dn,rdn,fqdn) or custom regex (e.g., '(company-staging.io|company.com)') (default "rdn")
-ns, -no-scope disables host based default scope
-do, -display-out-scope display external endpoint from scoped crawling
FILTER:
-m, -match string[] URLs or list to match (file or comma-separated)
-f, -filter string[] URLs or list to filter (file or comma-separated)
RATE-LIMIT:
-rl, -rate-limit int max HTTP requests per second (global)
-rls, -rate-limits value per-provider HTTP request limits (e.g., -rls waybackarchive=15/m)
UPDATE:
-up, -update update URLFinder to the latest version
-duc, -disable-update-check disable automatic update checks
OUTPUT:
-o, -output string specify output file
-j, -jsonl JSONL output format
-od, -output-dir string specify output directory
-cs, -collect-sources include all sources in JSON output
CONFIGURATION:
-config string config file (default "$CONFIG/urlfinder/config.yaml")
-pc, -provider-config string provider config file (default "$CONFIG/urlfinder/provider-config.yaml")
-proxy string HTTP proxy
DEBUG:
-silent show only URLs in output
-version display URLFinder version
-v verbose output
-nc, -no-color disable colored output
-ls, -list-sources list all available sources
-stats display source statistics
OPTIMIZATION:
-timeout int timeout in seconds (default 30)
-max-time int max time in minutes for enumeration (default 10)
urlfinder -d tesla.com
このコマンドは、対象ドメイン tesla.com のURLを列挙します。
実行例:
$ urlfinder -d tesla.com
__ _____ __ _____ __
/ / / / _ \/ / / __(_)__ ___/ /__ ____
/ /_/ / , _/ /__/ _// / _ \/ _ / -_) __/
\____/_/|_/____/_/ /_/_//_/\_,_/\__/_/
projectdiscovery.io
[INF] Current urlfinder version v0.0.1 (latest)
[INF] Enumerating urls for tesla.com
https://www.tesla.com/akam/13/7e68a6e8
https://www.tesla.com/akam/13/pixel_4e07b670
https://www.tesla.com/da_dk/en/node/30788?redirect=no
https://www.tesla.com/de_at/findus/location/charger/dc6290
https://www.tesla.com/akam/13/7ade0a44
https://www.tesla.com/cs_cz/referral/teslaapp23713?redirect=no
https://www.tesla.com/da_dk/findus/location/charger/dc253
https://www.tesla.com/akam/13/pixel_76102729
https://www.tesla.com/da_dk/blog/modules//system/system.messages.js
...
[INF] Found 202435 urls for tesla.com in 2 minutes 37 seconds
-m(マッチ)オプションと-f(フィルター)オプションを使用して、URLパターンに基づいて結果を絞り込むことができます。
特定のパターンに一致するURLを含める
"shop" または "model" を含むURLのみを含める場合:
urlfinder -d tesla.com -m shop,model
特定のパターンに一致するURLを除外する
"privacy" または "terms" を含むURLを除外する場合:
urlfinder -d tesla.com -f privacy,terms
マッチとフィルターの組み合わせ
"support" を含むURLを検索し、"faq" を含むURLを除外する場合:
urlfinder -d tesla.com -m support -f faq
パターンをファイルで指定:
urlfinder -d tesla.com -m include-patterns.txt -f exclude-patterns.txt
-j または --jsonl フラグを使用して、結果をJSONL(JSON Lines)形式で出力します。各行は個別のJSONオブジェクトです。この形式は、大量の出力を構造化された方法で処理するのに便利です。
urlfinder -d tesla.com -j
{"url":"https://shop.tesla.com/product/model-s-plaid","input":"tesla.com","source":"waybackarchive"}
{"url":"https://www.tesla.com/inventory/used/ms","input":"tesla.com","source":"waybackarchive"}
{"url":"https://forums.tesla.com/discussion/101112/model-3-updates","input":"tesla.com","source":"waybackarchive"}
各JSONオブジェクトには以下が含まれます:
url: 発見されたURL。input: 対象ドメイン(例:tesla.com)。source: URL発見のデータソース(例:waybackarchive)。