診断の現場からの提言!Webサイトの脆弱性が潜む場所を知る

これまでの記事でWebサイトのセキュリティについてお伝えしてきましたが、実際にWebサイトの診断を行っていると、脆弱(ぜいじゃく)性が発見されるパターンが非常に似通っていて、同じ脆弱性が同じような画面で発見されることがあります。最終回となる今回は、実際に診断していて発見されるケースについて、紹介した

近藤 伸明

2010年11月24日 20:00

これまでの記事でWebサイトのセキュリティについてお伝えしてきましたが、実際にWebサイトの診断を行っていると、脆弱(ぜいじゃく)性が発見されるパターンが非常に似通っていて、同じ脆弱性が同じような画面で発見されることがあります。

最終回となる今回は、実際に診断していて発見されるケースについて、紹介したいと思います。

1. こんな場所に発見されるケースが多い

(1)検索画面(トップページや全画面共通)

・発見される脆弱性:XSS(クロス・サイト・スクリプティング)
検索結果を表示する画面で、入力されたキーワードを表示しようとして、XSS(クロス・サイト・スクリプティング)が発生するケースがあります。
汎用的なモジュールを使用する場合は問題がないケースもありますが、自社内や開発業者のハンドメイドの場合には、脆弱性が作り込まれているケースが見受けられます。

(2)入力フォーム(問合せフォームや会員登録など)

・発見される脆弱性: XSS(クロス・サイト・スクリプティング)
問合せフォームや会員情報の登録画面など、「入力画面」→「確認画面」→「完了画面」といった画面遷移を行う場合、「入力画面」で入力した内容を確認するために「確認画面」に入力された内容を表示しようとして、XSSが発生するケースがあります。
いかにもXSSの典型といったパターンなので、今更このようなところに作り込まれないだろうと思いますが、対策漏れの場合も含め、依然として脆弱性が発見されることが多い個所です。

・発見される脆弱性: CSRF(クロス・サイト・リクエスト・フォージェリ)
ログイン後の機能に会員情報の変更や決済機能などがあり、「入力画面」→「完了画面」、または、 「入力画面」→「確認画面」→「完了画面」といった画面遷移を行う場合、「完了画面」で実施する登録や変更・削除といった機能が正規の画面遷移(「入力画面」→「完了画面」)を経ることなく、攻撃者の意図した通りに実行されてしまう脆弱性です。
後半でも説明しますが、CSRFは認知度が低いためか、依然として多くのサイトで発見されています。

図1:CSRF(クロス・サイト・リクエスト・フォージェリ)とは

・発見される脆弱性: 自動化の停止が不適切
CSRFが存在する場合、多くのケースで「自動化の不適切」という脆弱性も存在します。これは、攻撃者がプログラムなどを使って、同様の攻撃コードを連続的に送信した場合、それを停止することができずに実施し続けてしまう脆弱性です。
この攻撃が実施されると、大量のメールが送信されメール・サーバーの機能が停止してしまったり、データベースに大量の負荷がかかったりして、Webサービスに影響を及ぼす可能性があります。

(3)一覧表の改ページ(ページ番号や次ページの記号など)

・発見される脆弱性: XSS(クロス・サイト・スクリプティング)
検索結果を一覧表形式で表示する際に、1枚の画面で収めきれない場合、ページナビゲーション機能が必要です。
一覧表ページの上部や下部にページ番号や改ページを示す記号などが表示され、それをクリックすると希望するページへ画面遷移するものです。大量のデータを表示したい場合は非常に有用な機能です。
しかし、ページナビゲーションの操作を行う際、XSSが発生する可能性が非常に高いです。検索条件の入力から検索結果を表示するロジックまで慎重に脆弱性対策がなされている場合でも、なぜかページナビゲーションの個所で脆弱性対策が漏れているケースがあります。
過去には、ページナビゲーション処理をフレームワークなどに頼った場合、そのフレームワーク自身に脆弱性があるケースが多かったのですが、最近はページナビゲーション処理を自作されるケースで脆弱性が発見されるようです。一覧表示機能を実装された段階で安心されるのか、後付けで別の方が実装されたのか、ページナビゲーション機能では対策が漏れることが多く見受けられます。

図2:ページナビゲーション機能の例(クリックで拡大)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30