問題
Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。
選択肢
- 1SQL 文の組立ては全てプレースホルダで実装する。
- 2シェルを起動できる言語機能を利用した実装を避ける。
- 3直接メモリにアクセスする言語機能を利用した実装を避ける。
- 4利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。
正解
2. シェルを起動できる言語機能を利用した実装を避ける。
詳しい解説を見る解説を閉じる
解説
OS コマンドインジェクションは、外部入力を OS のコマンドとして解釈・実行する機能を悪用し、不正なコマンドを実行させる攻撃である。対策の基本は、シェルを起動してコマンドを呼び出す言語機能(system() など)の使用を避け、引数を直接プログラムに渡す方式にすることである。アは SQL インジェクション対策、ウはバッファオーバフロー対策、エはディレクトリトラバーサル対策であり、本問の対策はイとなる。(出典: 令和7年度 春期 応用情報技術者試験 午前 問42)
一問一答
全400問を繰り返し学習