Webアプリケーションソフトウェアの開発におけるOSコマンドインジェクション対策はどれか。
OSコマンドインジェクションはシェル起動機能を使わないのが本筋
選択肢
- アSQL文の組立ては全てプレースホルダで実装する。
- イシェルを起動できる言語機能を利用した実装を避ける。
- ウ直接メモリにアクセスできる言語機能を利用した実装を避ける。
- エ利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。
正解と解説
正解:イ シェルを起動できる言語機能を利用した実装を避ける。
OSコマンドインジェクションは、外部から受け取った値がシェル経由で実行されることによって起きる。したがって根本的な対策は、シェルを起動する言語機能(外部コマンド実行関数など)を使わずに、同等の処理を言語のライブラリ機能で実装することである。やむを得ず使う場合は、渡す値を許可した文字だけに限定する。
選択肢ごとの解説
- アプレースホルダの利用はSQLインジェクションの対策。
- イ正解。シェルを起動する言語機能を避けることが根本的な対策。
- ウメモリ直接アクセスを避けるのはバッファオーバフロー対策。
- エファイル名のディレクトリ検査はディレクトリトラバーサル対策。
同じ分野の他の問題
- 電子メールの送信時に、送信側メールサーバでデジタル署名を電子メールヘッダーに付与し、受信側メールサーバでそれを検証するこ…2025年度 秋期 午前 問45
- デジタルフォレンジックスの手順は収集、検査、分析及び報告から成る。このとき、デジタルフォレンジックスの手順に含まれるもの…2025年度 秋期 午前 問44
- 脆弱性検査で、ホストに対してポートスキャンを行う。スキャンしたポートの状態を判定する方法のうち、適切なものはどれか。2025年度 秋期 午前 問43
- CSPM(Cloud Security Posture Management)はどれか。2025年度 秋期 午前 問42
- パスワードクラックの対策のうち,ストレッチングに該当するものはどれか。2025年度 春期 午前 問44
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。