予想問題vol.9 問36
問36
SQLインジェクション対策について,Webアプリケーションの実装における対策とWebアプリケーションの実装以外の対策として,ともに適切なものはどれか。
- [出典]
- 情報セキュリティ H27春期 問17
分類
テクノロジ系 » セキュリティ » セキュリティ実装技術
正解
エ
解説
- OSコマンドインジェクション対策です。
- セッションハイジャック対策です。
- ディレクトリトラバーサル対策です。
- 正しい。SQLインジェクション対策です。
プレースホルダは、SQL文中のユーザー入力を割り当てる部分に特殊文字(?など)を使用したひな形を用意し、後から実際の値を割り当てる機構です。後から割り当てる値は、SQL文の特殊文字がエスケープされた完全な数値または文字列として扱われるため安全に実行することができます。
またデータベースを扱うWebアプリケーションに必要以上の権限が与えられていると、不正なSQL文が実行される可能性が高まるため最少権限のみを持たせたアカウントで処理させることも重要な対策となります。