正答1
解説
正解は1です。
Webアプリケーションへの代表的な攻撃のうち、SQLインジェクションの説明を選ぶ問題です。
SQL(Structured Query Language)はデータベースを操作する言語です。
【選択肢別解説】
1:○ 入力欄などにSQLの命令文を紛れ込ませ、アプリケーションに実行させる攻撃です。
データベースのデータを不正に取得したり改ざんしたりします。
2:× 訪問者に意図しない操作を別のWebサイトで行わせるのは、クロスサイトリクエストフォージェリ(CSRF)です。
3:× DBMSの脆弱性を突いて自己増殖し、トラフィックを急増させるのはワームです。
SQLインジェクションではありません。
4:× 入力をそのまま表示するサイトにスクリプトを送り込み、訪問者のブラウザで実行させるのは、クロスサイトスクリプティング(XSS)です。
【ポイント】
SQLインジェクションの対策は、プレースホルダ(バインド機構)を使ってSQL文を組み立てることです。
入力値の特殊文字をエスケープする方法もあります。