OSコマンドインジェクション

特徴

  • OSコマンドインジェクションとは、Webアプリケーションの脆弱性を悪用する攻撃手法の一つで、Webページ上でユーザの入力値を元にOSコマンドを使用して動的にWebページを生成するシステムで、入力値として不正な値とすることで、シェルスクリプトなどによりファイルの操作、パスワードの取得などを行う攻撃である。

過去問

ネットワークスペシャリスト試験 令和3年度 春期 午前2 問21
情報処理安全確保支援士試験 平成30年度 秋期 午前2 問13

【出典:ネットワークスペシャリスト試験 令和3年度 春期 午前2 問21(一部、加工あり)】

【出典:情報処理安全確保支援士試験 平成30年度 秋期 午前2 問13(一部、加工あり)】

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

  1. HTTPヘッダインジェクション
    →HTTPヘッダインジェクションは、動的にHTTPヘッダを生成するシステムにおける脆弱性を利用して、HTTPヘッダ内に改行コードなどを挿入することによって”Set-Cookie”,”Location”などの攻撃のための不正なヘッダ情報を挿入したり、メッセージボディに任意の記述を挿入する攻撃です。
  2. OSコマンドインジェクション
    →正解です。
  3. クロスサイトリクエストフォージェリ
    →クロスサイトリクエストフォージェリ(CSRF)は、Webサイトに設置されたリンクやスクリプトなどを通じて、別のサイトで閲覧者に意図しない不正操作を行わせる攻撃です。
  4. セッションハイジャック
    →セッションハイジャックは、TCPコネクションやクライアント-サーバ間でのログイン中の利用者のセッションIDを不正に取得するなどして、利用者になりすましてセッションを乗っ取る攻撃です。

情報処理安全確保支援士試験 令和2年度 秋期 午前2 問1

【出典:情報処理安全確保支援士試験 令和2年度 秋期 午前2 問1(一部、加工あり)】

Webサーバのログを分析したところ、Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTPリクエストヘッダから推測できる、攻撃者が悪用しようとしていた脆弱性はどれか。ここで、HTTPリクエストヘッダ中の”%20”は空白を意味する。

  1. HTTPヘッダインジェクション(HTTP Response Splitting)
    →HTTPヘッダインジェクションは、動的にHTTPヘッダを生成するシステムにおける脆弱性を利用して、HTTPヘッダ内に改行コードなどを挿入することによって”Set-Cookie”,”Location”などの攻撃のための不正なヘッダ情報を挿入したり、メッセージボディに任意の記述を挿入する攻撃です。
  2. OSコマンドインジェクション
    →正解
     GETメソッドの「submit.cgi」で実行させようとしているコマンドとして、「cat /etc/passwd」とあります。これは、ユーザを管理するファイルである「etc/passwd」を表示するものです。
     「submit.cgi」に脆弱性があり、ユーザの入力データをもとに不正なOSコマンドを実行できてしまうとユーザ情報が漏えいしてしまうことになります。
     このようなWebサーバへのHTTPリクエストにOSのコマンドを不正に入力して、任意のファイルに対し、読み出しや変更を行う攻撃を、OSコマンドインジェクションといいます。
  3. SQLインジェクション
    →SQLインジェクションとは、Webアプリケーションに対し、検索文字列などにSQL文を混入させデータベースに対し不正な操作を行う攻撃です。
  4. クロスサイトスクリプティング
    →クロスサイトスクリプティングとは、Webアプリケーションの入力フォームなどに攻撃者が用意した不正なスクリプトを埋め込み、ユーザを別のWebサーバに誘導して攻撃用スクリプトによる攻撃を行うものです。