平成28年 春期 情報セキュリティスペシャリスト 午前II 問21

“アカウント”表に対して、SQL文を実行したとき、“アカウント”表の全ての行が取得される入力パラメータはどれか。
ここで、入力パラメータのエスケープ処理は行わない。
また、“;”はSQL文の終端として解釈されるものとする。

アカウント
ID ユーザー名 メールアドレス
A001 TARO JOHO t-joho@email.org.jp
A002 JIRO JOHO j-joho@email.org.jp
A003 HANAKO JOHO h-joho@email.org.jp

[SQL文]
SELECT ID, ユーザー名, メールアドレス FROM アカウント
  WHERE ユーザー名 = ’ 入力パラメータ ’;

 ア  ’ OR ’--’ = ’--
 イ  ’ OR ユーザー名 = ’ユーザー名
 ウ  ’-- OR 1 = 1
 エ  \’ OR 1 = 1 ’;--


答え ア


解説
“アカウント”表からすべての行を取得するには、ユーザー名で共通している“JOHO”で取り出せばいいので、入力パラメータに入るのは’ OR ’--’ = ’--(ア)になります。
 SELECT ID, ユーザー名, メールアドレス FROM アカウント
   WHERE ユーザー名 = ’ 入力パラメータ ’;


キーワード
・SQL

キーワードの解説

戻る 一覧へ 次へ