‹

インジェクション攻撃(SQL・OS コマンド)

インジェクション(注入)攻撃は,Web アプリケーションが入力された文字列をそのまま命令の一部として組み立てる弱点を突き, 攻撃者の命令を実行させる攻撃です。 データベースへの命令を書き換える SQL インジェクションと,OS のコマンドを実行させる OS コマンドインジェクションが代表です。 情報処理安全確保支援士の午前Ⅱを中心に出ます。

SQL インジェクション

たとえば,入力された利用者 ID を文字列としてつなげて SQL 文を作るアプリケーションに, ID として「' OR '1'='1」のような文字列を入れると,条件が常に成り立つ SQL 文ができあがり,ほかの人のデータまで読み出されてしまいます。

対策の種類内容
実装での対策(根本) SQL 文の組立てにプレースホルダ(バインド機構)を使う。SQL 文の形を先に確定させ,入力は後から値としてだけ当てはめるので,入力が命令として解釈されない
実装での対策(補助) 入力の中の,SQL で特別な意味をもつ文字をエスケープする
実装以外の対策 アプリケーションが使うデータベースのアカウントの権限を必要最小限にする。攻撃されても被害を小さくできる

OS コマンドインジェクションとディレクトリトラバーサル

いずれも,入力を「データ」としてだけ扱い,「命令」や「パス」の一部として解釈させないことが対策の軸です。 XSS(スクリプトの埋込み)も同じ考え方で,出力するときのエスケープが対策になります。

試験での問われ方

当サイトが収録している午前の問題のうち,SQL インジェクション・OS コマンドインジェクション・ディレクトリトラバーサルなどの語が出てくるのは37問です。 6割あまりが情報処理安全確保支援士の午前Ⅱです。型ごとに数えると次のとおりです。

出題された過去問(37問)

リンク先の年度ページで,問題と解説を読めます。

午前Ⅰ(高度試験 共通)(6問)
情報処理安全確保支援士 午前Ⅱ(24問)
  • 令和7年度 春期 問4DNS に対するカミンスキー攻撃への対策はどれか。
  • 令和5年度 秋期 問1Web アプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列が PHP …
  • 令和5年度 春期 問5DNS に対するカミンスキー攻撃(Kaminsky's attack)への対策はどれか。
  • 令和5年度 春期 問17SQL インジェクション対策について,Web アプリケーションプログラムの実装における対策と,W…
  • 令和4年度 春期 問1Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
  • 令和3年度 春期 問12安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
  • 令和2年度 10月 問1Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
  • 令和元年度 秋期 問14Web サイトにおいて,全ての Web ページを TLS で保護するよう設定する常時 SSL/T…
  • 令和元年度 秋期 問17SQL インジェクション対策について,Web アプリケーションプログラムの実装における対策と,W…
  • 平成30年度 秋期 問7UDP の性質を悪用した DDoS 攻撃に該当するものはどれか。
  • 平成30年度 秋期 問13Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…
  • 平成30年度 春期 問2Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
  • 平成30年度 春期 問17SQL インジェクション対策について,Web アプリケーションの実装における対策と,Web アプ…
  • 平成29年度 秋期 問6DNS に対するカミンスキー攻撃(Kaminsky's attack)への対策はどれか。
  • 平成29年度 春期 問12Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…
  • 平成28年度 秋期 問17SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプ…
  • 平成27年度 春期 問17SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプ…
  • 平成26年度 春期 問15Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Perl の system 関数や P…
  • 平成25年度 秋期 問15SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプ…
  • 平成25年度 秋期 問16ディレクトリトラバーサル攻撃はどれか。
  • 平成24年度 春期 問16SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプ…
  • 平成23年度 秋期 問16Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Perl の system 関数や P…
  • 平成22年度 秋期 問8SQL インジェクション攻撃を防ぐ方法はどれか。
  • 平成21年度 秋期 問14SQL インジェクション対策について,Web アプリケーションの実装における対策と Web アプ…
システムアーキテクト 午前Ⅱ(3問)
  • 平成30年度 秋期 問25Web アプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち,適切なものはど…
  • 平成28年度 秋期 問24安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
  • 平成21年度 秋期 問4SQL インジェクション対策として実施するものはどれか。
ITストラテジスト 午前Ⅱ(2問)
  • 令和7年度 春期 問23プログラムの排他制御の不備によって,プロセスやスレッドが共有リソースに同時アクセスした場合に想定…
  • 令和6年度 春期 問24マルウェアが,その実行ファイルをターゲットのコンピュータのファイルシステム上に生成せずに,メモリ…
ネットワークスペシャリスト 午前Ⅱ(2問)
  • 令和3年度 春期 問21Web アプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列が Perl…
  • 平成27年度 秋期 問20Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…

関連する用語

XSS・CSRF・クリックジャッキング WAF・IDS・IPS