過去問ドリル

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

Webアプリケーションへの入力にOSのコマンドを紛れ込ませ、サーバ上で不正に実行させる攻撃。

解説

Webアプリケーションが、利用者の入力を使ってOSのコマンド(シェル)を呼び出していると、入力に含まれた記号や別のコマンドがそのまま実行されてしまうことがあります。その結果、ファイルの閲覧・改ざん・削除や、不正なプログラムの実行が起こり得ます。根本的な対策は、シェルを呼び出す機能を使わずに、同じ処理を言語のライブラリなどで実現することです。どうしても使う場合は、入力値を厳密に検査します。

試験での出方

SQLインジェクション(データベースへの命令)との違いと、「シェルを起動できる機能を使わない」という対策が問われます。

あわせて読みたい用語

この用語が解説に出てくる問題