サニタイジングとは、Webアプリケーションの入力フォーム等に入力されたデータから、悪意のあるスクリプトやHTMLタグ、SQL文などを取り除き、無害な文字列に変換するセキュリティ対策のことです。主にクロスサイトスクリプティング(XSS)やSQLインジェクション攻撃を防止し、システムを保護するために不可欠なプロセスです。
概要と重要性
- 「無害化」の意: データがシステムに悪影響を及ぼさないよう、「消毒(衛生化)」することを意味します。
- 主な防御対象:
- クロスサイトスクリプティング(XSS): ユーザーのブラウザ上で不正なスクリプトを実行させ、クッキーなどを盗む攻撃。
- SQLインジェクション: データベースへ不正なクエリを送り、情報の改ざんや漏洩を狙う攻撃。
- 具体的な処理: 特殊文字(
<,>,&,",'など)を別の安全な文字列(エンティティ)に置き換えたり、不正なタグを削除したりします。
関連技術
- エスケープ処理: サニタイジングの一種であり、特定の文字を別の文字列表現に置き換える手法。
- バリデーション(入力チェック): データが期待する形式(メールアドレス、数字など)かどうかを確認し、不正なデータを弾く手法。サニタイジングと組み合わせて使用することが推奨されます。
主な対象文字
特にWebページにおいて重要な意味を持つ以下の5文字が、サニタイジングの対象となります。
<(小なり)>(大なり)&(アンパサンド)"(ダブルクォーテーション)'(シングルクォーテーション)

コメント