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

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

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

製品・サービス・業界動向
(イメージ画像)

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 を探し出す機能が、脆弱性スキャナの標準機能になるのかもしれません。

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

編集部おすすめの記事

特集

製品・サービス・業界動向 アクセスランキング

  1. 日本規格協会、ISO / IEC 27002 の改訂を受け「JIS Q 27002:2024」発行

    日本規格協会、ISO / IEC 27002 の改訂を受け「JIS Q 27002:2024」発行

  2. GMOイエラエ、カルチャーデック公開

    GMOイエラエ、カルチャーデック公開

  3. 楽天市場、キャンペーンで付与したポイントを取り消し、ユーザに混乱

    楽天市場、キャンペーンで付与したポイントを取り消し、ユーザに混乱

  4. 人を標的とした脅威から守るために ~ KnowBe4 が Egress 買収

  5. セキュリティリスキリング+人材常駐、GSX 100 % 子会社 CyberSTAR 始動

  6. GMOイエラエ「ホワイト企業認定」最高ランクのプラチナ取得 三回目

  7. 漫画内容を無断配信していたネットカフェ経営者らが摘発された事件について概要を発表(ACCS)

  8. 大阪府警察、令和4年度サイバー犯罪捜査官 採用選考受付 8月1日から

  9. 伊東市民病院医師の自宅PCから病院2院の患者の個人情報が流出

  10. 地方競馬の馬券販売サイト「オッズパーク」にシステム障害、個人情報が流出(オッズ・パーク)

アクセスランキングをもっと見る

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×