2025年(令和7年) 春期 応用情報技術者 午前 問42

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

 ア  SQL文の組立てはプレースホルダで実装する。
 イ  シェルを起動できる言語機能を利用した実装を避ける。
 ウ  直接メモリにアクセスできる言語機能を利用した実装を避ける。
 エ  利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装する。


答え イ


解説

 ア  SQL文の組立てはプレースホルダで実装するのは、SQLインジェクション対策です。(×)
 イ  シェルを起動できる言語機能を利用した実装を避けるのは、OSコマンドインジェクション対策です。(〇)
 ウ  直接メモリにアクセスできる言語機能を利用した実装を避けるのは、バッファオーバーフロー対策です。(×)
 エ  利用者が入力したファイル名にディレクトリが含まれていないかのエラーチェックを実装するのは、ディレクトリトラバーサル対策です。(×)


キーワード
・OSコマンドインジェクション

キーワードの解説
  • OSコマンドインジェクション(OS command injection)
    Webページの利用者が入力するパラメータとしてOSコマンドを挿入し、意図しないOSコマンドを実行させることを狙った攻撃で、サーバのroot権限が乗っ取られたりする足がかりになる非常に危険な問題です。
    対策としてはユーザーが入力したパラメータに対しサニタイジング(sanitizing、無毒化)を行い、OSコマンドなどが実行されないようにしたり、サーバで動作するサービスの権限を最低限のものにするなどがあります。

もっと、「OSコマンドインジェクション」について調べてみよう。

戻る 一覧へ 次へ