URLデシリアライズ・不審リンク解析

不審な短縮URLやフィッシングリンクの構成要素を分解・解析し,独自加点スコアと独自ルールの該当項目を表示します.構造解析はブラウザ内で処理され,任意でリダイレクト先の追跡や外部診断ツールへのURL引き渡しが可能です.

読み込み中...

このツールが向いている用途

操作欄に戻る ↑

入力したHTTP/HTTPS URLをブラウザー内で構文解析し,ホスト名,パス,クエリ,入れ子のURL構造と固定ヒューリスティックスコアを表示します.

まず試せること

「https://example.com/path?next=https%3A%2F%2Fexample.org」を入力すると,ホスト名example.comとnextパラメータ内の入れ子URLを確認できます.

利用条件

スコアは独自の加点で,危険の確率や安全性の判定ではありません.転送先確認は通信許可後の実行で対象へ,外部診断リンクは開くと各サービスへURL全体やホスト名を送ります.秘密情報を含むURLは送らないでください.

ZeroToolsのブラウザ内処理とプライバシー

構造解析だけでは対象URLへ通信しません.通信許可を選び転送先確認を実行すると,対象や転送先へURLのパス・クエリ等を送信します.外部チェックのリンクを開くと,URLやドメインを各サービスへ渡します.

データの取り扱い・プライバシー方針
第1章

URLを分解して読む

本システムは,入力されたリソース識別文字列(URL)をブラウザ内部のJavaScriptを用いて,WHATWG URL仕様に基づき厳密に解剖し,各コンポーネントへと分離する機能を提供します.URLの解析処理そのものはローカル環境で完結しており,スキャンボタンを押した直後の構造解析段階では対象のサーバーに対するHTTP通信は発生しません.

まず,文字列の先頭部分を走査し,通信の基盤となるプロトコルスキームを特定します.本ツールは「http://」および「https://」で始まるURLに対応しており,スキームが省略された文字列が入力された場合は,自動的に「https://」を補完して解析を試みます.

プロトコルの次に続く部分はネットワーク上の宛先を示すホスト名(ドメイン)として抽出され,ポート番号が明示されている場合はそれも分離します.ポート番号の指定がない場合は,プロトコルに応じて80番または443番として解釈結果に表示します.

続いて,ホスト名以降のリクエストパス,および疑問符(?)に続くクエリパラメータ,ハッシュ記号(#)に続くフラグメント識別子を個別の要素として切り出します.これにより,一見して単一の複雑な文字列に見えるURLが,どのような要素の組み合わせで構成されているかを「URL デシリアライズ・パース結果」の表として可視化します.

各コンポーネントは独立したセルに表示されるため,攻撃者が視覚的な錯覚を狙って長大なパスや複雑なパラメータを付与していた場合でも,本来のドメイン名と付加情報を明確に区別して確認することが可能になります.パーセントエンコーディングが含まれる場合は,構造解析に失敗しない範囲でそのままの形式で表示を試みます.

入力欄の横には「スキャン」ボタンが配置され,実行中は「解析中...」のスピナーに切り替わる視覚的なフィードバックにより,解析の進行状態を即座に把握できます.

第2章

実際のホストと認証部分

フィッシング詐欺において最も頻繁に用いられる手法の一つが,URLのホスト名部分の偽装です.本ツールは分離したホスト名に対して独自の固定ルールに基づく検証を行い,不審な兆候を検出して脅威度スコアに加点します.ホスト名(ドメイン)の確認は,利用者が誤って偽のサイトに誘導されていないかを判断する上で極めて重要な指標となります.

特徴的な検証項目として,認証情報を悪用した偽装の検出があります.URLの仕様上,「http://ユーザー名:パスワード@ドメイン名/」という形式で認証情報を埋め込むことが可能です.攻撃者はこの仕様を悪用し,「http://www.google.com:login@evil.example.com/」のように,アットマーク(@)の前に正規のブランド名を配置して利用者を騙し,実際にはアットマーク以降の悪意あるドメインへ接続させようとします.

本ツールは解析過程でユーザー名やパスワードのコンポーネントが検出された場合,独自ルールで加点して認証部分の存在を警告します.正当な用途でも使われるため,これだけでフィッシングと判定するものではありません.

また,IPアドレスの直接指定も重要な確認項目です.通常のウェブサイトはドメイン名を使用してアクセスされますが,一時的に構築された不正サイトやマルウェアの通信先として,IPv4(例:192.168.1.1)やIPv6アドレスが直接指定されることがあります.本ツールは正規表現パターンを用いてホスト名がIPアドレス形式であるかを判定し,警告の対象とします.

ただし,企業の社内システムやネットワーク機器の管理画面など,正当な目的でIPアドレス直打ちが使用されるケースも多々存在します.したがって,IPアドレスの検出そのものは独自ルールによる加点事由にはなりますが,それ単体で即座に不正サイトであるという証拠にはならない点に留意して解析結果を読む必要があります.

独自チェックに該当する項目は「脅威検知・ルール合否判定」のパネルに一覧表示され,独自ルール上の警告レベル(赤色・黄色・緑色)のアイコンと共に,それぞれの理由が詳細なテキストとして付記されます.

第3章

エンコードと入れ子URL

サイバー攻撃者はセキュリティフィルターを回避し,利用者の目をごまかすために,URLのクエリパラメータ内に別のURLを入れ子(ネスト)にして隠蔽する手法を頻繁に用います.本ツールは,抽出されたクエリパラメータ群に対して詳細な分析を実行し,パラメータの値として別のURLが含まれていないかを個別にチェックする「クエリパラメータ分析」機能を備えています.

URLのパース結果から得られたすべてのクエリパラメータについて,キーと値のペアを抽出し,その値が「http://」や「https://」で始まるか,あるいは一般的なドメイン名の形式(www.から始まる等)に合致するかを正規表現を用いて判定します.もし値の内部に別のURLの構造が検出された場合,システムはこれを「URL転送の疑い」としてマークし,パラメータごとに警告ラベルを表示します.

この機能により,オープンリダイレクト脆弱性を狙った攻撃や,複雑な追跡用パラメータに隠された真の遷移先URLを容易に発見することが可能になります.

入れ子になったURLが発見された場合,利用者はそのパラメータの横に表示される「このURLを再スキャン」ボタンを利用することができます.このボタンを押下すると,対象のパラメータ値が新たな分析対象URLとして入力欄に自動設定され,再度パース処理が実行されます.これにより,手動でURLの一部をコピーして貼り直す手間を省きながら,多段にネストされた不審なリンクの構造を段階的に解き明かしていくことが可能です.

なお,本ツールは入力された文字列の構造をそのまま解析するため,多重にパーセントエンコーディングが施されている場合は,手動でデコードツールを併用して元の文字列に戻してから解析を行う必要があります.特に悪意のあるリンクでは意図的にエンコードが繰り返されるケースが多いため注意が必要です.

第4章

独自加点の限界

本ツールが提供する「脅威解析スコア(0〜100)」および「脅威検知・ルール合否判定」は,あくまで入力された文字列が事前に定義された固定ルールに合致するかどうかを機械的に評価した結果に過ぎません.このスコアはツール独自の加点方式によるヒューリスティックな判定であり,対象サイトが実際にマルウェアを配布しているか,またはフィッシングサイトであるかを決定づける安全性の保証や完全な証明を提供するものではありません.

例えば,Punycode(「xn--」から始まる文字列)の検出機能は,国際化ドメイン名を悪用したホモグラフ攻撃(同形文字による偽装)の可能性を示唆して加点を行います.しかし,本ツールの実装では「xn--」というプレフィックスの有無を検出するのみであり,Unicodeへの完全な復号処理や,類似文字の視覚的な比較計算までは実行していません.

そのため,日本国内で正当に運用されている日本語ドメインのサイトを入力した場合でも,Punycodeの警告が表示されスコアが加算されます.

同様に,特定のTLD(トップレベルドメイン)やサブドメインの過剰なネスト,固定キーワード(login, secure, updateなど)の検出も,単なる文字列の一致に基づいています.TLDへの加点は登録価格や被害統計を調べた結果ではなく,固定リストへの一致だけです.

適法な用途でも同じTLDが使われます.ホスト名の区切り数もPublic Suffix Listを使用しない簡易判定です.正規の企業サイトが「login」というキーワードをパスに含めることも一般的です.スコアが高く表示された場合でも,各ルールの詳細な理由(「正規サイトでも使われる語の独自加点であり,不正の確率ではありません」等の記述)を読み解き,構成要素全体の文脈から総合的に判断することが求められます.

不審な点が見受けられる場合には,決して安易にアクセスせず,他の情報源もあわせて安全性を多角的に確認する習慣をつけることが推奨されます.

第5章

任意のリダイレクト確認

短縮URLサービス(bit.lyやt.coなど)を利用したリンクは,最終的な到達先のドメイン名やパスが隠蔽されているため,文字列の構造解析だけでは実際の脅威を評価することができません.本ツールでは,利用者の明示的な許可に基づき,リダイレクト先のURLを追跡する「リダイレクト追跡レポート」機能を提供しています.

この機能は自動的には実行されません.リダイレクトの追跡を開始するには,利用者が「送信先と送信内容を確認し,外部への通信を許可する」というチェックボックスを手動で有効化し,専用の確認ボタンを押下する必要があります.ボタンが押されると,ブラウザから対象URLに対してHEADリクエストが送信されます.

この際,フェッチAPIのmode: "cors",credentials: "omit",referrerPolicy: "no-referrer"オプションが指定され,このfetchではCookie等の認証情報と参照元を除外します.ただし,対象URLのパスやクエリ,接続元IP等は対象や転送先へ伝わり得ます.

また,3秒のタイムアウトが設定されています.

リダイレクト追跡において重要なのは,CORS(Cross-Origin Resource Sharing)の制限です.ブラウザからのリクエストに対して,対象サーバーがCORSポリシーでアクセスを許可していない場合,本ツールは応答のステータスコードやリダイレクト先のLocationヘッダを読み取ることができず,結果はエラーとなります.

ここで理解すべきは,CORS制限はあくまで「応答の読み取り」を制限するものであり,「リクエストの送信」自体をブロックするものではないという事実です.したがって,「応答を確認できませんでした」というエラーが表示された場合でも,要求自体は対象サーバーに届いている可能性があります.

未確認であることは安全の証拠にはなりません.そのため,リダイレクト結果が表示されない場合でも決して安全とはみなさず,あくまで外部の診断サービスなどと併用するための参考情報のひとつとして扱うべきです.

第6章

確認先と秘密情報の扱い

本ツールを使用する際,特に入力対象が社内の非公開システムや,個人的な秘密情報(ワンタイムトークン,セッションIDなど)を含むURLである場合,利用者はその扱いについて慎重な判断を下す必要があります.構造解析および独自ルールの合否判定のみを行うスキャン機能は完全にブラウザ内で処理されるため,この段階では外部ネットワークへURLが送信されることはありません.

しかし,その後の追加操作によって状況は変化します.

前章で説明したリダイレクト追跡機能を使用する場合,対象と転送先にはリクエストのURLパス・クエリ等が伝わります.DNSの通常の名前解決に送られるのはホスト名であり,URL全体ではありません.HTTPSで経路上の全機器にクエリが平文公開されるという意味でもありません.

さらに,本ツールにはVirusTotalやURLVoid,Googleセーフブラウジングといった「外部脅威診断ツール連携」のリンク群が用意されています.これらのリンクをクリックすると,ユーザーは別タブで各診断サービスのウェブサイトへと移動し,入力したURLまたはホスト名が当該サービスのURLパラメータとして直接引き渡されます.

外部サービスへ情報を送信する場合,そのデータは該当サービスのプライバシーポリシーに従って処理され,場合によっては世界中のセキュリティ研究者間で共有されるデータベースに記録される可能性があります.本ツールは,ユーザー名やパスワードを含むURLや,「localhost」,プライベートIPアドレス(192.168.x.xなど)のローカル環境向けホストに対するリダイレクト追跡リクエストを内部ロジックで拒否しますが,これは最低限のフェイルセーフであり,あらゆる機密情報の送信を防ぐものではありません.

秘密情報を含むURLを処理する場合は,リダイレクト追跡や外部連携機能を使用せず,構造解析の確認のみに留める運用を徹底してください.どのようなデータが送信されるかを事前に正確に把握し,個人のプライバシーや組織の機密情報を適切に保護しながら,安全にツールを活用してください.

よくある質問(FAQ)

A.
入力されたURLは,お使いのブラウザ内部のJavaScriptによってWHATWG URL仕様に基づいてプロトコル,ホスト名,パス,クエリなどに分解されます.この構造解析の時点では対象URLへのHTTP通信は発生しません.
A.
利用者の明示的な操作により,ブラウザから対象URLへHEADリクエストを送信してリダイレクトを追跡します.HTTPリクエストにはパスやクエリ文字列が含まれクライアントIPも接続先に伝達されますが,フラグメント(#以降)はリクエストから除外されます.取得・表示されるのは最終到達先のURL(response.url)のみであり,中間の転送経路やステータスコードは表示されません.なお,リクエストが送信された場合でも,ブラウザのCORS制約により応答の読み取りが遮断されることがあります.
A.
断定できません.IPアドレスの直接指定や特定キーワードの包含など,固定ルールへの合致を点数化しているのみです.正規の管理画面や国際化ドメインでもスコアが高くなる場合があるため,外部の診断ツールと併用して判断してください.
A.
国際化ドメイン名(日本語などのドメイン)を英数字で表現する形式です.本ツールでは「xn--」の検出と警告表示を行いますが,Unicodeへの復号や類似文字(ホモグラフ)の比較による正確な偽装判定までは実装していません.