GLOSSARY

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

最終更新日:

OSコマンドインジェクションとは、外部から入力された値の扱いの不備を突いて、Webサーバーの上でOSのコマンドを不正に実行させる攻撃と、その原因となる脆弱性です。

Webアプリケーションが、利用者の入力をそのまま外部のプログラムやシェル(コマンドを解釈する仕組み)に渡していると、入力に紛れ込ませた記号やコマンドが実行されてしまうことがあります。IPAの「安全なウェブサイトの作り方」は、外部のプログラムを呼び出せる関数を使うWebアプリケーションであれば、運営する主体やサイトの性質を問わず注意が必要としています。

悪用されると、サーバーの中のファイルの閲覧・改ざん・削除、利用者のアカウントの追加、不正なプログラムの設置、ほかへの攻撃の踏み台にされることなどが起こりえます。IPAは根本的な対策として、シェルを起動できる機能を使わず、別の関数で代わりの処理をすることを挙げています。

どうしてもシェルを使う場合は、渡す値を事前に検査し、許可した文字の組み合わせだけを通す方式(ホワイトリスト方式)が勧められています。危険な記号を並べて拒む方式は、漏れが生じるおそれがあるとされています。

関連する用語

この用語が出てくるコラム

用語集の一覧に戻る ナレッジのトップへ

無料で相談する無料の診断