Webアプリケーションの中でも最も有名な脆弱性の一つであるSQLインジェクションについて説明していきます。
■概要
多くのWebアプリケーションはデータベースと連携し、ユーザからの入力情報を基にSQLを組み立てDBMS経由でデータベースへ送信します。
その際、適切な対策が施されていないと攻撃者からの悪意あるリクエストによって不正なSQLを送信し、本来意図しない操作をされてしまう可能性があります。
■想定される被害
SQLインジェクションによって生じる被害は、主に以下の種類があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・個人情報、機密情報の漏えい
・Webサイトの改ざん
・不正ログイン
■対策
SQLインジェクションの対策として挙げられるものは以下のようなものとなります。
・SQL文の組み立ては全てプレースホルダで実装する。
・エスケープ処理をする。