“アカウント”表に対して,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 ユーザ名='入力パラメタ';

条件を恒真にする入力でWHERE句が全行に適合する

情報処理安全確保支援士試験2016年度 春期 午前II21/攻撃手法 / Webアプリケーション

アカウント表
IDユーザ名メールアドレス
A001TARO JOHOt-joho@email.org.jp
A002JIRO JOHOj-joho@email.org.jp
A003HANAKO JOHOh-joho@email.org.jp
SQL文: SELECT ID,ユーザ名,メールアドレス FROM アカウント WHERE ユーザ名='入力パラメタ';

選択肢

正解と解説

正解: ' OR '--' = '--

入力値がそのまま連結されるため、条件式が常に真になる形にすればWHERE句が全行に適合します。アは引用符を閉じた上でOR以下が同じ文字列同士の比較となり、条件が恒真となって全行が返ります。他は引用符の対応が崩れて構文エラーになるか、条件が真になりません。

選択肢ごとの解説

出典:平成28年度 春期 情報処理安全確保支援士試験 午前II 問21(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。