テクノロジ
OSコマンドインジェクションとは
読み方:おーえすこまんどいんじぇくしょん
ひとことで言うと:入力値を通じて不正なOSコマンドを実行させる攻撃。
意味をわかりやすく解説
OSコマンドインジェクションは、Webアプリなどが外部入力を含む文字列を安全に処理せずシェルやOSコマンドへ渡すことで、攻撃者が意図しないコマンドを実行させる攻撃です。
対策は、可能ならOSコマンド呼出し自体を避けること、引数を安全なAPIで渡すこと、許可リストで入力を検証すること、実行権限を最小化することなどです。
具体例
ファイル名入力をそのままシェルコマンドへ連結したため、; rm ...のような文字列を含む入力で別コマンドを実行される。
似た用語との違い
SQLインジェクション
SQLインジェクションは入力によって不正なSQLを実行させます。OSコマンドインジェクションはシェル・OSコマンドを実行させます。
ディレクトリトラバーサル
ディレクトリトラバーサルはパス操作で本来アクセスできないファイルを狙います。OSコマンドインジェクションはOSコマンド実行を狙います。
覚え方
何に注入するかを見る。SQLならDB、OSコマンドならシェル、と区別します。
基本情報技術者試験の試験ポイント
SQLインジェクションとの攻撃対象の違い、入力を文字列連結してコマンド実行しないことが重要です。
CHECK QUESTION
利用者入力をシェルコマンド文字列へそのまま連結した結果、任意コマンドを実行される攻撃は何ですか。
答えを見る
OSコマンドインジェクションです。
この説明は分かりやすかったですか?
基本情報技術者試験を勉強中ですか?
この用語を含む重要用語を、単語帳や4択テストで学習できます。