問42令和7年度 春期テクノロジ系
Web アプリケーションソフトウェアの開発における OS コマンドインジェクション対策はどれか。
- アSQL 文の組立ては全てプレースホルダで実装する。
- イシェルを起動できる言語機能を利用した実装を避ける。
- ウ直接メモリにアクセスできる言語機能を利用した実装を避ける。
- エ利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。
正解はイ
解説 本サイト独自(IPA公表のものではありません)
イ OSコマンドインジェクションとは,利用者の入力を介して意図しないOSコマンドを実行させられる問題である。シェルを起動できる言語機能の利用を避ければ,入力がOSコマンドとして解釈される経路をなくせる。
- ア SQL文をプレースホルダで組み立てる方法は,入力をSQL文の一部として解釈させない対策であり,OSコマンドインジェクションへの直接の対策ではない。
- ウ 直接メモリにアクセスする機能を避けることは,不正なメモリアクセスを抑える対策であり,シェル経由のOSコマンド実行を防ぐものではない。
- エ ファイル名にディレクトリが含まれるかを調べる方法は,意図しない場所のファイルへのアクセスを防ぐ対策であり,OSコマンドの実行防止とは異なる。
この解説は間違っています
この解説は,別のモデルによるレビューを受けています。
出典:令和7年度 春期 応用情報技術者試験 午前 問42