OSコマンドインジェクションとは?
OSコマンドインジェクションとは、外部プログラムやシェルを呼び出す処理に、区切り記号(;、|、&&など)を含む入力を渡し、任意のOSコマンドを続けて実行させる攻撃。サーバの完全な乗っ取りに直結しやすい。
情報処理安全確保支援士試験の過去問では6回出題されています(2017年度〜2023年度)。
おーえすこまんどいんじぇくしょん
OSコマンドインジェクションの意味
外部プログラムやシェルを呼び出す処理に、区切り記号(;、|、&&など)を含む入力を渡し、任意のOSコマンドを続けて実行させる攻撃。サーバの完全な乗っ取りに直結しやすい。
OSコマンドインジェクションの具体例
メール送信機能がシェル経由でsendmailを呼び出している場合、宛先欄に区切り文字とコマンドを混ぜて任意のコマンドを実行させる。
OSコマンドインジェクションは試験でどう引っ掛けられる?
根本対策はシェルを経由しないAPIを使うこと。どうしても外部コマンドを使う場合は引数を配列で渡し、許可リストで検証する。
OSコマンドインジェクションと関連する用語
OSコマンドインジェクションが出た過去問
Webアプリケーションの脆弱性を悪用する攻撃手法のうち,Webページ上で入力した文字列がPerlのsystem関数やPHPのexec関数などに渡されることを利用…
正解:OSコマンドインジェクション
要点:入力がシェル経由で実行されるのがOSコマンド注入
外部から受け取った文字列を、シェルを介してコマンドを実行する関数へそのまま渡すと、区切り文字を混ぜることで任意のコマンドを実行されます。これがOSコマンドインジェクションです。対策はシェルを経由する関数を使わない、あるいは値を厳密に検証・エスケープすることです。
出典:平成29年度 春期 情報処理安全確保支援士試験 am2 問12(IPA)Webアプリケーションの脆弱性を悪用する攻撃手法のうち,Webページ上で入力した文字列がPerlのsystem関数やPHPのexec関数などに渡されることを利用…
正解:OSコマンドインジェクション
要点:入力がシェルで実行されるのがOSコマンド注入
受け取った文字列を検証せずにシェル経由でコマンドを実行する関数へ渡すと、区切り文字を混ぜることで任意のコマンドを実行されます。これがOSコマンドインジェクションです。シェルを使う関数を避ける、値を厳密に検証するといった対策が必要です。
出典:平成30年度 秋期 情報処理安全確保支援士試験 am2 問13(IPA)Webサーバのログを分析したところ,Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTPリクエストヘッダから推測できる,攻撃者が…
正解:OSコマンドインジェクション
要点:区切り文字でシェルコマンドを続ける攻撃はOSコマンドインジェクション
クエリ文字列にセミコロンとシェルコマンドが埋め込まれている点が手掛かりである。UNIX系シェルではセミコロンがコマンドの区切りとして解釈されるため、CGIが受け取った値をそのままシェルに渡していると、本来の処理に続けて任意のコマンドが実行されてしまう。パスワードファイルの読み出しを狙ったこの手口はOSコマンドインジェクションに該当する。対策はシェル呼び出しを避けるか、外部入力をコマンド文字列に連結しないことである。
出典:平成30年度 春期 情報処理安全確保支援士試験 am2 問2(IPA)Webサーバのログを分析したところ、Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTPリクエストヘッダから推測できる、攻撃者が…
正解:OSコマンドインジェクション
要点:区切り文字でシェルコマンドを続ける攻撃はOSコマンドインジェクション
クエリ文字列にセミコロンとシェルコマンドが埋め込まれている点が手掛かりである。UNIX系シェルではセミコロンが命令の区切りとして解釈されるため、CGIが受け取った値をそのままシェルに渡していると、本来の処理に続けて任意のコマンドが実行されてしまう。パスワードファイルの表示を狙ったこの手口はOSコマンドインジェクションである。対策は外部入力をコマンド文字列に連結せず、シェルを経由しないAPIを使うことである。
出典:令和2年度 10月 情報処理安全確保支援士試験 am2 問1(IPA)Webサーバのログを分析したところ、Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTPリクエストヘッダから推測できる、攻撃者が…
正解:OSコマンドインジェクション
要点:区切り記号に続くシェルコマンドの注入はOSコマンドインジェクション
クエリ文字列にセミコロンでコマンドを区切り、パスワードファイルを表示するシェルコマンドを続けている点が手掛かりである。これはWebアプリがパラメータをシェル経由で外部コマンドに渡す実装になっている場合に、任意のOSコマンドを実行させる攻撃であり、OSコマンドインジェクションに該当する。対策は外部コマンド呼出しの回避、シェルを介さないAPIの利用、入力値の厳格な検証である。
出典:令和4年度 春期 情報処理安全確保支援士試験 am2 問1(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。