Webアプリケーションの脆弱性(基礎の分類)とは?うぇぶあぷりけーしょんのぜいじゃくせい
Webアプリケーションの脆弱性(基礎の分類)とは、利用者の入力がプログラムの命令やHTMLとして解釈されてしまうことで生じる、Webアプリ特有の弱点の分類。SQLインジェクションはサーバ側のデータベース、クロスサイトスクリプティングは閲覧者のブラウザ、CSRFは被害者の認証済みセッションと、害の当たる先が異なる点で整理される。
最終更新:2026-10-06
この語が出る過去問を解く →背景
Webアプリはデータと命令を同じ文字列として扱う場面が多い。SQL文もHTMLもHTTPリクエストも文字列であり、利用者が入力した値をそのまま連結すると、値のつもりだったものが命令として解釈される。脆弱性の分類は、この境界がどの層で壊れるか(データベースか、ブラウザか、セッションか)で整理されており、根本対策も層ごとに違う形になる。
具体例
SQLインジェクションの根本対策はプレースホルダ(バインド機構)を使い、値をSQL文の構造から切り離すこと。XSSは出力する文脈に応じたエスケープ、CSRFは推測困難なトークンの照合が根本対策で、WAFや入力値チェックはいずれも補助にとどまる。
試験での引っ掛け
攻撃と根本対策の対応を入れ替えた選択肢が定番で、入力値検証やWAFは補助であって根本対策の代替にはならない。XSSは自社サーバが壊れないから軽微という誤解も典型で、害を受けるのは閲覧した利用者である。OSコマンドインジェクションやディレクトリトラバーサルは、同じ入力起因でも狙う層が別。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 応用情報技術者試験 午前 問43(IPA)
図のような構成と通信サービスのシステムにおいて,Webアプリケーションの脆弱性対策のためのWAFの設置場所として,最も適切な箇所はどこか。ここで,WAFには通信…
正解:c
要点:WAFはHTTPが平文になる区間に設置しないと検査できない
WAFはHTTPリクエストの中身を解析して攻撃を検出するため、通信が平文である区間に置く必要がある。この構成ではSSLアクセラレータが復号を担っているので、その先のWebサーバとの間の平文HTTP区間に設置するのが適切である。
出典:平成31年度 春期 応用情報技術者試験 午前 問45(IPA)解説で登場
WAFの説明はどれか。
正解:Webアプリケーションへの攻撃を検知し、阻止する。
要点:WAFはHTTPを解析してWebアプリへの攻撃を検知・遮断する
WAF(Web Application Firewall)はHTTPの通信内容を解析し、SQLインジェクションやクロスサイトスクリプティングなどWebアプリケーションの脆弱性を狙う攻撃パターンを検知して遮断する。ネットワーク層で制御するファイアウォールでは防げない、アプリケーション層の攻撃に対応する点が特徴である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。