本文へ移動
合格ノート.
基本情報技術者試験
基本情報技術者試験用語一覧を見る
テクノロジ

OSコマンドインジェクションとは

読み方:おーえすこまんどいんじぇくしょん

ひとことで言うと:入力値を通じて不正なOSコマンドを実行させる攻撃。

意味をわかりやすく解説

OSコマンドインジェクションは、Webアプリなどが外部入力を含む文字列を安全に処理せずシェルやOSコマンドへ渡すことで、攻撃者が意図しないコマンドを実行させる攻撃です。

対策は、可能ならOSコマンド呼出し自体を避けること、引数を安全なAPIで渡すこと、許可リストで入力を検証すること、実行権限を最小化することなどです。

具体例

ファイル名入力をそのままシェルコマンドへ連結したため、; rm ...のような文字列を含む入力で別コマンドを実行される。

似た用語との違い

SQLインジェクション

SQLインジェクションは入力によって不正なSQLを実行させます。OSコマンドインジェクションはシェル・OSコマンドを実行させます。

ディレクトリトラバーサル

ディレクトリトラバーサルはパス操作で本来アクセスできないファイルを狙います。OSコマンドインジェクションはOSコマンド実行を狙います。

覚え方

何に注入するかを見る。SQLならDB、OSコマンドならシェル、と区別します。

基本情報技術者試験の試験ポイント

SQLインジェクションとの攻撃対象の違い、入力を文字列連結してコマンド実行しないことが重要です。

CHECK QUESTION

利用者入力をシェルコマンド文字列へそのまま連結した結果、任意コマンドを実行される攻撃は何ですか。

答えを見る

OSコマンドインジェクションです。

この説明は分かりやすかったですか?

基本情報技術者試験を勉強中ですか?

この用語を含む重要用語を、単語帳や4択テストで学習できます。