令和3年度 春期 ネットワークスペシャリスト試験 午前Ⅱ 問21

Webアプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列がPerlのsystem関数,PHPのexec関数などに渡されることを利用し,不正にシェルスクリプトを実行させるものは,どれに分類されるか。

解答・解説

正解: イ. OSコマンドインジェクション

Perlのsystem関数やPHPのexec関数は、OS(オペレーティングシステム)のコマンドを実行するための関数です。
Webアプリケーションにおいて、外部から入力された文字列を適切に検査・無害化せずにこれらの関数に渡してしまう脆弱性を悪用し、攻撃者の意図したOSコマンドやシェルスクリプトを不正に実行させる攻撃手法を OSコマンドインジェクション と呼びます。

各選択肢の解説

  • ア (HTTPヘッダインジェクション)
    HTTPの応答ヘッダに改行文字などの不正な文字列を挿入し、任意のCookieを発行させたり、不正な画面を表示させたりする攻撃です。
  • イ (OSコマンドインジェクション)
    正解です。入力文字列を介してOSのコマンドを不正に実行させます。
  • ウ (クロスサイトリクエストフォージェリ)
    Webアプリケーションにログインしている利用者に罠のリンクを踏ませるなどして、利用者の意図しないリクエスト(送金や設定変更など)を強制的に送信させる攻撃です。
  • エ (セッションハイジャック)
    利用者のセッションIDを推測したり盗聴によって取得したりすることで、正規の利用者に成りすましてシステムにアクセスする攻撃です。

Spineチーム