
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
SQLインジェクション攻撃に関する記述として、Webアプリケーションのデータベース処理の脆弱性を利用して、悪意のある命令文をデータベースへ送信し、データを不正に取得・改ざんする攻撃を、XSS、バッファオーバーフロー、ヘッダインジェクションなどと区別して選ぶ問題。
SQLインジェクションの説明を、他の攻撃手法と区別して選ぶ問題。
① 攻撃の名前: SQLインジェクション=入力に紛れ込ませたSQL文でDBを不正操作、XSS=不正なスクリプトを利用者のブラウザで実行、バッファオーバーフロー=メモリをはみ出して上書き、HTTPヘッダインジェクション=不正なヘッダ行を挿入
② ①XSS、②バッファオーバーフロー、③DBMS製品の脆弱性、④HTTPヘッダインジェクション
③ ⑤
SQLインジェクションは、Webアプリケーションが、利用者の入力値を、SQL文に適切に処理(エスケープやプレースホルダの使用)せずに組み込む脆弱性を利用して、悪意のあるSQL命令文をデータベースへ送信し、データを不正に取得したり、改ざんしたりする攻撃である。したがって⑤が最も適切である。
SQLインジェクションの対策は、プレースホルダ(バインド機構)の使用、入力値のエスケープ、データベース権限の最小化。XSSはブラウザ側でスクリプトを実行させる攻撃で、対策は出力のエスケープ。
キーワード: SQLインジェクション、クロスサイトスクリプティング、バッファオーバーフロー、HTTPヘッダインジェクション、脆弱性、情報工学部門
同じ問題が計2回出題されています(平成27年度、令和5年度)。