Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。

テクノロジ系

ア SQL 文の組立ては全てプレースホルダで実装する。

なぜ違う: SQL インジェクション対策で、OS コマンドの対策ではない。

イ シェルを起動できる言語機能を利用した実装を避ける。
ウ 直接メモリにアクセスできる言語機能を利用した実装を避ける。

なぜ違う: バッファオーバーフロー等の対策で、OS コマンドではない。

エ 利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。

なぜ違う: ディレクトリトラバーサル対策。

正解: イ

要点: シェルを起動できる言語機能を利用した実装を避ける。

OS コマンドインジェクション対策は、シェルを起動できる言語機能(system 関数等)の利用を避けること。プレースホルダは SQL インジェクション対策、ファイル名のディレクトリ混入チェックはディレクトリトラバーサル対策。

この問題に出てくる用語

関連キーワード: OSコマンドインジェクション・セキュア開発・対策

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和7年度 春期 応用情報技術者試験 午前 問42