最初にホスト名を読み取る
URLには、スキーム、ユーザー情報、ホスト、ポート、パス、クエリ、フラグメントが含まれる場合があります。ホスト名は宛先名を識別し、パスやクエリ内の単語は運営者を識別しません。例えば、https://example.net/bank-loginの場合、bank-loginはexample.net上のパスです。
@記号はユーザー情報を導入することができます。https://[email protected]/の場合、宛先ホスト名はtrusted-nameではなくexample.netです。元の文字列を保持し、リンクを目視で判断するのではなく、標準に準拠したパーサーを使用してください。
エンコーディングと国際化ドメイン名
パーセントエンコーディングは、パスやクエリ内の文字を隠す可能性があります。国際化された名前は、xn-- で始まるPunycodeを使用して表現される場合があります。解釈のためにデコードする際には、元のテキストを保持してください。見た目が似ているUnicode文字は、必ずしも同一ではありません。
クエリ文字列にはログイントークン、識別子、または個人データが含まれる場合があります。許可なく完全な機密URLを公開分析サービスに送信しないでください。フラグメントは通常、HTTPリクエストの一部として送信されるのではなく、ブラウザによって処理されます。
安全な初期トリアージ
オフラインでの解析と公開されているDNSまたは登録情報の検索から始めます。普段使用しているブラウザで疑わしい宛先にアクセスしないでください。パーサーはURLを記述するものであり、宛先が安全であることを保証するものではありません。
- 元のURLを元のメッセージまたはアーティファクトに保管してください。
- スキーム、ホスト、ポート、パス、クエリを個別に特定する。
- ユーザー情報、類似語、エンコードされた文字を確認します。
- 外部提出に使用するコピーからのみ機密データを削除する。
情報源とさらなる読書
WHATWG, URL標準RFC 3986, URI汎用構文このリソースは調査トリアージをサポートします。これは法的助言、帰属判断、またはウェブサイトが安全であることの認証ではありません。
