オープンリダイレクトを悪用した詐欺広告について

ネットに蔓延る詐欺広告を観察していたら、2026年6月頃から、オープンリダイレクトを使った詐欺広告が目立つようになってきた。
一般ドメインに置かれた「任意のURLに飛ばす機能」を悪用し、詐欺サイトにリダイレクトさせるという手口だ。飛ばされる先はたいていサポート詐欺である。「あなたのPCがウィルスに感染している」という嘘のメッセージでユーザを脅し、偽のサポート窓口に電話をかけさせるという手口だ。

このタイプの詐欺広告については、先日の記事「ネットに蔓延るサポート詐欺について (その1 観察編)」にも書いたが、これは今日はもう少し詳しく書く。前回の記事の対象は、被害を受けたくない一般ユーザ、詐欺を通報したい詐欺ハンター、自分のサイトに詐欺広告が掲載されるのを防ぎたいメディア側の人だったが、今回は自分のサイトが詐欺の踏み台として悪用されないようにしたいサイト運営者も対象だ。

オープンリダイレクトって?

Webアプリケーションには、他のURLにリダイレクトする機能を持つものがある。リダイレクトは、HTTPの3xxレスポンス (301や302) で行われるものや、metaタグで行われるもの、JavaScriptで行われるものなど、さまざまな種類がある。広告やメールマガジンなどの効果測定、SNSから外部リンクへの遷移の把握、URL短縮などの用途がある。
そういった機能が、任意の外部URLを指定することが可能になっていて、ノーチェックでリダイレクトされることをオープンリダイレクトという。たとえば、

https://www.example.com/foo/bar/redirect.php?url=<任意のURL>

という具合にパラメタ等で任意のURLを指定すると、どこにでも飛ばせてしまうというものだ。

オープンリダイレクトは、「脆弱性」扱いされたり、されなかったり、「脆弱性といえば脆弱性だが、ただちに直さないとダメってわけではない」という、なんとも微妙な扱いになっている。
ちなみに、OWASPは脆弱性として扱っている。こちらの記事を参照。

安全な実装のためのアドバイスも載っているので、気になる人は読んでね。

悪用の手口

手口はシンプルだ。たとえば、https://www.example.com/foo/bar/redirect.php というURLがオープンリダイレクト状態になっているとする。それを悪用した広告は、ランディングページとして、以下のようなものを指定する。

https://www.example.com/foo/bar/redirect.php?url=https://詐欺サイト.xyz

踏んでしまったユーザは、https://詐欺サイト.xyz に飛ばされるというわけだ。

昔からあるフィッシングでの悪用

昔から、オープンリダイレクトを悪用したフィッシング攻撃は存在した。
たとえば、メールにこんなURLへのリンクを含めておく。

https://www.example.com/foo/bar/redirect.php?url=https://フィッシングサイト.xyz

まともなドメイン example.com のオープンリダイレクトを悪用して、フィッシングサイト https://フィッシングサイト.xyz に飛ばす仕掛けだ。一見、フィッシングとは無関係な https://www.example.com/ へのリンクに見える。リンクを踏む際にドメインをチェックする習慣がある人ほど騙されてしまうかもしれない。

詐欺広告との組み合わせ

2026年6月あたりから、オープンリダイレクトの悪用がフィッシングだけではなく詐欺広告で見られるようになってきた。悪用されているサイトはジャンルを問わない。

  • そこそこ大きいECサイト
  • マーケティングツール
  • 大手旅行会社
  • 米国の地方の公共機関 (govドメイン)

などなど。

どうしてこういう手口が存在するのだろうか。広告の場合、クリック時にURLが目立つわけではないので、フィッシングの場合のような「一見ちゃんとしたサイトへのリンクに見せかけて相手を油断させる」という効果はないだろう。広告にマウスオーバーしても、https://www.googleadservices.com/... のようなURLが表示されるだけであり、これはオープンリダイレクトを使わない詐欺広告と変わりがない。

だとしたら、どうしてオープンリダイレクトを使うのか。

  • メディア側にブロックされにくい?
    メディア側にも広告審査機能があり、自分のサイトに載せたくない広告をブロックすることも出来るのだが、URLが怪しくないためスルーしてしまう。
  • プラットフォーム側の審査をすり抜けやすい?
    これは実際に審査の通過率を見たわけではないので、外部からはよくわからない。信用あるドメインであれば審査を通過しやすいかもしれない。また、広告の遷移先は、広告主自身のドメインとは限らない。ECモールの商品ページやアプリストアなど、第三者ドメインを正当に広告するケースもある。そのため、「広告主とは別のドメインだから怪しい」というだけでは判定できない。

詐欺師の思惑は何であれ、そして実際の広告がどの程度であれ、とにかくこういう手口が存在する。

悪用されてしまうと……

オープンリダイレクトを詐欺に使われてしまうとどんな問題があるだろうか。

詐欺の踏み台にされてしまう

一番悪いのはもちろん詐欺師であり、悪用された側も被害者ではあるのだが、オープンリダイレクトを放置していたことによって詐欺師に有利な状況ができてしまうのは気分のいいものではない。

正当な広告が掲載されるチャンスを失う

オープンリダイレクトが悪用されているのを放置すると、自社の広告を打とうとしたときに思ったように配信できなくなる可能性がある
広告が掲載されるメディアの側にも、広告を審査する仕組みがある。たとえば、個人から大手まで多くのサイトで使用されているGoogle AdSenseの場合、

  • 広告単品
  • 広告のカテゴリ
  • 広告主
  • ランディングページのURL

によってブロックすることが可能である。同一のドメインでしつこく詐欺広告が出現する場合はドメイン単位でブロックしてしまうのが手っ取り早い。

example.com ドメイン以下に置かれたリダイレクトURLを使った詐欺広告が大量に湧いたとしよう。バナー画像は明らかに詐欺だし、定番の「続きへ進むにはこちらをクリック」という文言まである。広告単品でブロックしてもきりがないし、広告主アカウントも次々と作成され、ブロックが追いつかない。困り果てたメディア側の人はこう考えるかもしれない。

「example.com を丸ごとブロックしよう」

example.com 自体が悪質であると勘違いした上でブロックする人もいるかもしれないし、「example.com がマトモなドメインであることは百も承知だが、こちらもサイトとユーザを守る必要があるので、やむを得ずブロックさせてもらう! 御免!」と判断するケースもあるだろう。ブロック対象を最小限の https://www.example.com/foo/bar/redirect.php だけにしておけば example.com 全体をブロックしなくて済むのだが、そういう判断ができるのは、事情に詳しい人、この記事を読んでいるような人くらいだ。とりあえず、これで example.com 経由での詐欺広告を一網打尽にすることはできる。

するとどうなるか。example.com を所有する企業も、自社の広告を出しているかもしれないし、将来Web広告を打つかもしれない。しかし、詐欺広告に悩まされた多くのメディアが example.com をブロックしている。広告品質を積極的に管理しているような良質なメディアに配信される機会がいつの間にか失われているのだ。

うちは大丈夫?

「うちは大丈夫だろうか? 悪用されていないだろうか? 悪用されそうなところはないだろうか?」と心配になったら、どうしたらいいだろうか。

アクセスログを洗い、見慣れないURLへのアクセスがないか調べれば、悪用を見つかるかもしれない。”url” や “redirect” や “link” など、使われがちなパラメタ名、あるいは “=https” のように値としてURLが指定されていないか検索するのもいい。

また、サイト自体を点検してみるのもいいだろう。昔使われていた現在使われていないURLや、外部に公開していないつもりだったURL、あるいはCMSの機能として眠っていたのを掘り起こされて悪用されるというケースもある。ソースコードの中でHTTPヘッダによるリダイレクトなどを行っている箇所がないかを検索するのもいい。

どこからもリンクされていないURLだとしても安心できない。詐欺師は、有名なCMSやASPで使われているリダイレクト用のパスを把握していて、あちこちのサイトを対象にして使えそうなURLを探し回っているかもしれない。

オープンリダイレクトを発見し、悪用されたら困ると判断した場合、対処法はいろいろある。

一方、その機能をどうしても残しておかないといけないケースもあるだろう。たとえばSNSから外部リンクを把握するためのものであったり、アフィリエイトのためのもの、あるいはURL短縮 (オープンリダイレクトとは少し異なるが、誰もが任意のURLへの転送に使える) であったり。もともと誰もが使える開かれた機能として設計されたものであれば、通報窓口などもあるかと思う。通報時の項目の「悪質なサイトへの誘導」などの選択肢を入れておくといいかもしれない。

もしも見かけたら

一般ユーザ、あるいは広告を掲載するメディアの立場で、もし見つけたらどうするか。悪用されているサイトには、なるべく問い合わせフォームなどから伝えてあげるといいだろう。相手にとっては寝耳に水なので、そんな問い合わせ自体が怪しまれるかもしれない。いきなり問い合わせフォームから「お宅のWebサイトが詐欺に悪用されてますよ!」と送ってくるヤツだって大概不審だ。怪しんでスルーするか、実際に対処するかどうかは相手次第だが、放置するよりはいいだろう。

伝えるなら、次のような内容を添えるのがおすすめ。

  • 詐欺広告を右クリックして得られるURL
  • 詐欺広告が表示されたサイトのURL
  • 詐欺広告のランディングページとして指定されたURL
  • 「オープンリダイレクト」というキーワード。相手が技術者ならすぐに伝わるだろう。
  • エビデンス。もし urlscan.io でMalicious判定が出ていたらスキャン結果のURL、添付が可能ならHARやスクリーンショット。自分の安全が第一なので、くれぐれも無理をせず、できる範囲で。

私が国内の企業に問い合わせフォームから事情を伝えたときは、システム担当の方が丁寧に調査・対処してくれて、被害の拡大が防げた。

また、広告プラットフォームの窓口に通報する際にも “open redirect” というキーワードを盛り込んでおこう。非常にベタな手口なので、状況が把握しやすいだろう。

また、メディア側は、「これはオープンリダイレクトの悪用だな」と判断したら、ブロックする対象を最小限にすることをおすすめする。たとえば、リダイレクトプログラムのURLが https://www.example.com/foo/bar/redirect.php だとしたら、ブロック対象は example.com ではなく、ピンポイントで www.example.com/foo/bar/redirect.php とする。これで、example.com のまっとうな広告をブロックすることなく詐欺対策ができる。ちなみに、Google AdSenseの場合、URLによるブロックはパラメタ部分を対象としない仕様となっている。たとえば、www.example.com/foo/bar/redirect.php?url=https://詐欺サイト.xyzをブロックしても、パラメタ部分は無視されるので、www.example.com/foo/bar/redirect.php をブロックしたのと同じ効果となる。詳しくは公式ドキュメントに記述されている。