AeyeScan blog 第7回「御社のWebサイトに潜む『放置ページ』を見つける方法」 | ScanNetSecurity
2026.01.03(土)

AeyeScan blog 第7回「御社のWebサイトに潜む『放置ページ』を見つける方法」

Webサイトの開発のサイクルが速い昨今では、サイトの改修を推し進めることで、過去の特設サイトや廃止された機能など、古い Webページが放置されてしまう、というのはありがちに思えます。しかし、そこに脆弱性があったとしても、通常の脆弱性診断では見つけることができない。これは大きな問題です。

製品・サービス・業界動向 業界動向
(イメージ画像)
(イメージ画像) 全 1 枚 拡大写真

2024 年 5 月、ある住宅メーカー企業で情報漏えい事件が発生しました。この事件では、Webサイト内に導線がなく、検索エンジンでも発見できない「フォトギャラリー」の Webページに脆弱性があったと報道されています。このような、発見が困難な Webページにおける脆弱性は、自動巡回型の脆弱性スキャナにとって非常に悩ましい問題です。

● Webサイト内に導線がない画面をどう把握するのか

自動巡回型の脆弱性スキャナは、Webサイト内のリンクをたどってアクセスすることで画面を把握する。URL を直接入力しないと辿り着けない画面の場合、自動巡回で発見できないため、自動巡回型の脆弱性スキャナでは診断対象にならない。

● 検索エンジンで発見できない画面をどう把握するのか

キーワードを工夫するなどして検索エンジンを利用することで、リンクされていない画面を発見する手法がある。ただ、検索エンジンでは発見できない仕組みの場合、人手でも見つけられず、手動による診断でも診断対象に追加できない。

Webサイトの開発のサイクルが速い昨今では、サイトの改修を推し進めることで、過去の特設サイトや廃止された機能など、古い Webページが放置されてしまう、というのはありがちに思えます。しかし、そこに脆弱性があったとしても、通常の脆弱性診断では見つけることができない。これは大きな問題です。

手動で発見する方法があれば、脆弱性スキャナに機能実装することで、画面を把握できる可能性があります。今回はこのような放置された Webページを手動で見つける方法をいくつか考えてみました。

● Google検索API

検索エンジンで発見できないというケースで利用されているのは、おそらく Webサイト版の Google検索だと思われます。Webサイト版ではなく、API版なら発見できないか試してみます。

細かいセットアップ手順は省略しますが、

https://www.googleapis.com/customsearch/v1?key={api-key}&cx={engine-id}&filter=1&safe=off&start={1,11,21,...,91}&num=10&q=site:*****

のような URL で API を利用することができます。※

記事執筆時点(2024 年 6 月 28 日)では 371 件がヒットしました。しかし、API の仕様上、100 件しか取得できません。100 件の中から、タイトルに「フォト」が含まれるもの、URL に「photo」が含まれるものを探してみましたが、残念ながら見当たりませんでした。Google検索API でも見つからないようです。

※*****にはドメインを入れています。以降の記述も同様です。

● Bing検索API

Google がダメなら Bing を試してみます。

https://api.bing.microsoft.com/v7.0/search?q=site:*****&offset={0,100,200,...}&count=100&mkt=ja-JP&responseFilter=Webpages

のような URL で API を利用することができます。

記事執筆時点では 558 件ヒットしました。Bing API では件数制限がないようなので、すべて見ることができます。タイトルに「フォト」が含まれるもの、URL に「photo」が含まれるものは以下の 3 つでした。

- https://*****/ownersclub2/photoContest.do?method=top&categoryId=my_family
-
https://*****/ownersclub2/photoContest.do?method=top&categoryId=m_theme
-
https://*****/ownersclub2/photoContest.do?method=top&categoryId=my_art

また、手元のメモによるとインシデントの発表直後には、

- https://*****/ownerscafe/photo/
-
https://*****/ownerscafe/photo/portrait/index.html
-
https://*****/ownerscafe/photo/home/index.html
-
https://*****/ownerscafe/photo/about/
-
https://*****/ownerscafe/photo/index.html
-
https://*****/ownerscafe/photo/nature/index.html

などの URL もヒットしたようです。

これらの中に「フォトギャラリー」が含まれるかは不明ですが、少なくとも Google検索では見つけられなかったものを発見できました。

● Wayback Machine API

Internet Archive は Webサイトの過去データを保存する非営利法人です。Wayback Machine API を使うことで、このデータを検索できます。この API も試してみます。

http://web.archive.org/cdx/search/cdx?url=*****/*&output=json&collapse=urlkey&fl=original&limit=10000

のような URL で API を利用することができます。

2394 件ヒットしました。

URL に「photo」が含まれるものを探してみましたが、

- https://*****/common/img/bg_photogram.jpg
-
https://*****/ownersclub2/css/ownerscafe_photo.css

が見つかるだけで、「フォトギャラリー」に関連しそうなものは見当たりませんでした。

● Common Crawl API

Common Crawl も Webサイトの過去データを保存する非営利法人です。この API も試してみます。

最初に https://index.commoncrawl.org/collinfo.json から各コレクションの APIURL(cdx-api)を取得します。

次に、各コレクションの APIURL にアクセスし、検索を行います。

https://index.commoncrawl.org/CC-MAIN-2024-22-index?url=*****/*&output=json&fl=url&limit=10000
https://index.commoncrawl.org/CC-MAIN-2024-18-index?url=*****/*&output=json&fl=url&limit=10000

https://index.commoncrawl.org/CC-MAIN-2008-2009-index?url=*****/*&output=json&fl=url&limit=10000

こうして取得した URL から「photo」が含まれるものを探してみましたが、見当たりませんでした。

● HTMLコメント

Webサイトの HTML にコメントアウトされたリンクが存在することがあります。画面上ではリンクをクリックできませんが、HTML を見ればそこから URL を取得することができます。これを試してみます。

現在は該当の Webサイトは閉鎖されているため、直接HTML を見ることはできません。代わりに、Bing検索のキャッシュを使います。

Web版の Bing検索で、「site: *****サイトマップ」を検索すると、トップにhttps://*****/sitemap/ が出てきますので、このキャッシュを見てみます。するとコメントアウトされたリンクが含まれていました。「photo」を含むものに限定すると、以下が見つかりました。

- /ownerscafe/photo/home/index.html
- /ownerscafe/photo/portrait/index.html
- /ownerscafe/photo/garden/index.html
- /ownerscafe/photo/nature/index.html
- /ownerscafe/photo/home/
- /ownerscafe/photo/portrait/
- /ownerscafe/photo/garden/
- /ownerscafe/photo/nature/
- /ownerscafe/photo/monthly/
- /ownerscafe/photo/myfamily/
- /ownerscafe/photo/myart/
- /ownerscafe/photo/child/index.html

脆弱性スキャナの場合、自動巡回時にこれらのコメントアウトされたリンクを発見し、それを巡回対象に加えるということもできそうです。

● まとめ

2024 年 5 月に発生した情報漏えい事件の事例をもとに、5 つの方法で、放置された Webページを発見できないか試してみました。今回の結果では、Bing検索API と HTMLコメントが特に有効そうに見えました。1 つの方法に頼るのではなく、複数の方法を試すことが重要です。

また、こうした問題に対応している脆弱性スキャナはないのか調べてみたところ、AppCheck など、URL収集のために、Webサイトの自動巡回と検索エンジンを併用する脆弱性スキャナも存在するようです。

>For each URL configured with the scan, AppCheck performs online reconnaissance to gather information
pertaining to the site that is publicly available in search engines and other online indexing services.
>https://appcheck-ng.com/our-approach/

 近い将来、自動巡回以外の方法でも URL を探し出す機能が、脆弱性スキャナの標準機能になるのかもしれません。

《株式会社エーアイセキュリティラボ》

関連記事

この記事の写真

/

特集

PageTop

アクセスランキング

  1. 請求者に「百条委員会の中で、会議録は非公開の部分ではと思います」は市議会会議規則第113条第2項に違反

    請求者に「百条委員会の中で、会議録は非公開の部分ではと思います」は市議会会議規則第113条第2項に違反

  2. 保証人に送付した学費請求書の住所に誤り、個人情報が漏えい(横浜市立大学)

    保証人に送付した学費請求書の住所に誤り、個人情報が漏えい(横浜市立大学)

  3. fjコンサル「キャッシュレスセキュリティレポート 2023年1Q」公表、カード情報流出件数 173,332件

    fjコンサル「キャッシュレスセキュリティレポート 2023年1Q」公表、カード情報流出件数 173,332件

  4. HENNGE One、iPad 受付システム「Smart at reception」へ SSO 連携

    HENNGE One、iPad 受付システム「Smart at reception」へ SSO 連携

  5. クリックしていないのにアダルトサイトに登録させる「ゼロクリック詐欺」(シマンテック)

    クリックしていないのにアダルトサイトに登録させる「ゼロクリック詐欺」(シマンテック)

ランキングをもっと見る
PageTop