情報セキュリティマネジメント試験 科目A 情報セキュリティ全般 練習問題 第7問: 問合せフォームの処理を点検したところ、利用者が入力したメールアドレスを、メール送信用のプログラムを呼び出す命令の引数にそのまま組み込んでいた。記号を含む値を入力
この科目 –/24 解いた
中級推定正答率 約 59%
問合せフォームの処理を点検したところ、利用者が入力したメールアドレスを、メール送信用のプログラムを呼び出す命令の引数にそのまま組み込んでいた。記号を含む値を入力されると、Web サーバ上で任意の命令が実行されるおそれがある。この脆弱性の名前と根本的な対策の組合せとして、適切なものはどれか。
解答と解説を先に見る
正解: 3. OS コマンド・インジェクションであり、根本的な対策はシェルを起動できる言語機能の利用を避けること。
「OS コマンド・インジェクションであり、根本的な対策はシェルを起動できる言語機能の利用を避けること」が適切です。IPA「安全なウェブサイトの作り方」改訂第7版は、外部からの攻撃でウェブサーバの OS コマンドを不正に実行されてしまう問題を OS コマンド・インジェクションの脆弱性と呼び、根本的解決としてシェルを起動できる言語機能の利用を避けることを挙げています。シェルを起動できる言語機能を使う場合に引数を構成する全ての変数をチェックし、あらかじめ許可した処理だけを実行するのは、同書では保険的対策です。SQL インジェクションは SQL 文(データベースへの命令文)の組み立て方の問題でデータベースの不正利用をまねくもので、サーバ上の命令を実行させる今回の問題とは名前が合いません。名前と、根本的解決か保険的対策かを別々に確かめる点を押さえましょう。
関連キーワード: OS コマンド・インジェクション・SQL インジェクション・保険的対策
広告