OSコマンドインジェクションとは?
OSコマンドインジェクションとは、外部からの入力をシェル経由でOSコマンドに渡す実装に対し、コマンドの区切り文字を混入させて任意のコマンドを実行させる攻撃。Webサーバの権限で自由に操作できるようになり、遠隔操作プログラムの設置や横展開まで到達し得る。
高度試験・午前I(全区分共通)の過去問では1回出題されています。
おーえすこまんどいんじぇくしょん
OSコマンドインジェクションの意味
外部からの入力をシェル経由でOSコマンドに渡す実装に対し、コマンドの区切り文字を混入させて任意のコマンドを実行させる攻撃。Webサーバの権限で自由に操作できるようになり、遠隔操作プログラムの設置や横展開まで到達し得る。
OSコマンドインジェクションの具体例
宛先アドレスを外部コマンドへ渡すメール送信機能に、コマンド連結の記号を含む文字列を入れて別のコマンドを走らせる。対策はシェルを介さないAPIを使い、コマンドと引数を配列で分けて渡し、シェルに解釈させないこと。
OSコマンドインジェクションは試験でどう引っ掛けられる?
SQLインジェクションが狙うのはデータベース、こちらはOSであり被害の広がり方が違う。またブラックリスト方式の文字除去は抜けが生じやすく、シェルを使わない実装にするのが本筋である。
OSコマンドインジェクションと関連する用語
OSコマンドインジェクションが出た過去問
Webアプリケーションソフトウェアの開発におけるOSコマンドインジェクション対策はどれか。
正解:シェルを起動できる言語機能を利用した実装を避ける。
要点:OSコマンドインジェクション対策はシェル起動を使わない
OSコマンドインジェクションは、外部入力がOSのシェルに渡されて意図しないコマンドが実行される脆弱性である。根本的な対策は、シェルを経由して外部プログラムを起動する言語機能そのものを使わず、必要なら引数を配列で直接渡すAPIを用いることである。
出典:令和7年度 春期 高度共通_午前I試験 am1 問14(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。