“アカウント”表に対して、SQL文を実行したとき、“アカウント”表の全ての行が取得される入力パラメータはどれか。
ここで、入力パラメータのエスケープ処理は行わない。
また、“;”はSQL文の終端として解釈されるものとする。
アカウント
|
[SQL文]
SELECT ID, ユーザー名, メールアドレス FROM アカウント
WHERE ユーザー名 = ’ 入力パラメータ ’;
ア | ’ OR ’--’ = ’-- |
イ | ’ OR ユーザー名 = ’ユーザー名 |
ウ | ’-- OR 1 = 1 |
エ | \’ OR 1 = 1 ’;-- |
答え ア
【解説】
“アカウント”表からすべての行を取得するには、ユーザー名で共通している“JOHO”で取り出せばいいので、入力パラメータに入るのは’ OR ’--’ = ’--(ア)になります。
SELECT ID, ユーザー名, メールアドレス FROM アカウント
WHERE ユーザー名 = ’ 入力パラメータ ’;
【キーワード】
・SQL