メインコンテンツへスキップ
高度試験共通令和7年度 春期午前I問 14

令和7年度 春期 高度試験共通 午前I 問14

難度標準

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

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
解説Layer 1

OSコマンドインジェクションは、Webアプリケーションが外部からの入力値を不適切に処理し、OSのシェルコマンドを意図せず実行してしまうことで発生する脆弱性である。最も根本的な対策は、シェルを起動できるような言語機能の利用を避け、OSコマンドの実行を必要最小限に抑えることである。

各選択肢の解説

ア

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

誤りです。SQL文をプレースホルダで組み立てるのはSQLインジェクションの対策です。入力値をSQLの構文から切り離して、データベースへの不正な命令を防ぎます。OSのシェルに渡すコマンドの注入には効果がありません。

イ

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

正しいです。OSコマンドインジェクションは、入力値がシェルに渡され、「;」や「|」などのメタ文字によって別のコマンドが実行されてしまう脆弱性です。シェルを起動する言語機能(system関数やopen関数のパイプ指定など)を使わない実装にすれば、シェルがメタ文字を解釈する経路がなくなるため、根本的な対策になります。

ウ

直接メモリにアクセスできる言語機能を利用した実装を避ける。

誤りです。直接メモリにアクセスする言語機能(C言語のポインタ操作など)を避けるのは、バッファオーバーフローのようなメモリ破壊系の脆弱性への対策です。OSコマンドインジェクションは、シェルがメタ文字を解釈することで起きるため、メモリ操作を避けても防げません。

エ

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

誤りです。利用者が入力したファイル名に「../」などのディレクトリが含まれていないかを確認するのは、ディレクトリトラバーサル(パストラバーサル)の対策です。想定外のファイルへのアクセスは防げますが、シェルのメタ文字による任意コマンドの実行は防げません。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「セキュリティ」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
脅威モデル・暗号方式(共通鍵/公開鍵/ハッシュ)・認証/認可・主要攻撃と対策の対応関係。
学習の進め方
OWASP Top 10 と各対策、CVE/CVSS、認証プロトコル(OAuth/OIDC/SAML)を表で整理しておく。
関連キーワード
公開鍵暗号ハッシュデジタル署名OAuthSQLインジェクションXSSCSRFOWASP
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

セキュリティ の他の問題

他年度の「セキュリティ」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド