【DS検定対策】Webセキュリティ:コマンドインジェクションの脅威
1. 【 問題 】
Webアプリケーションにおいて、OSのシェルを呼び出す際の実装に問題がある場合、攻撃者によって不正なOSのコマンドが実行されることがあります。
その結果、次のような事態を招く攻撃手法はどれでしょうか?
・Webサーバ内部の情報が漏えいする
・別のサーバへの攻撃の踏み台となる
① SQLインジェクション
② OSコマンドインジェクション
③ クロスサイトスクリプティング(XSS)
④ ディレクトリトラバーサル
2. 【 解答 】
正解: ② OSコマンドインジェクション
3. 【 解説 】:コマンドインジェクションの構造
プログラムの隙間(インジェクション)から、OSへの直接的な命令(コマンド)を流し込む攻撃手法です。
[ 被害の及ぶ範囲 ]
1. 機密性の破壊
→ Webサーバ内の設定ファイルや顧客情報の奪取
2. 攻撃の踏み台
→ 乗っ取ったサーバを使い、別の組織を攻撃する
3. 制御の奪取
→ ファイルの削除や、不正なプログラムの設置
--------------------------
★ OSの制御を直接奪われるため、被害は全方位に及びます。
1. 機密性の破壊
→ Webサーバ内の設定ファイルや顧客情報の奪取
2. 攻撃の踏み台
→ 乗っ取ったサーバを使い、別の組織を攻撃する
3. 制御の奪取
→ ファイルの削除や、不正なプログラムの設置
--------------------------
★ OSの制御を直接奪われるため、被害は全方位に及びます。
■ 実装上の注意点
1. 発生原因: 入力文字列を検証せずに、system() や exec() などのシェル呼び出し関数に渡すことで発生します。
2. 根本対策: 可能な限りOSコマンドを直接呼び出す実装を避けること。やむを得ない場合は、特殊文字(; | & ` など)をサニタイズ(無効化)する必要があります。
4. まとめ
DS検定や情報処理試験において、「シェルの呼び出し」「不正なOSコマンド」というキーワードが出たら、コマンドインジェクションを正解に選びましょう。システム全体を危険にさらす恐ろしい攻撃です。
PR