平成29年度 春期 午前Ⅱ 問12
攻撃手法
system関数に関する問題
Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が Perl の system 関数や PHP の exec 関数などに渡されることを利用し,不正にシェルスクリプトを実行させるものは,どれに分類されるか。
- アHTTP ヘッダインジェクション
- イOS コマンドインジェクション
- ウクロスサイトリクエストフォージェリ
- エセッションハイジャック
答えと解説を見る
✓ これが正解イOS コマンドインジェクション
解説
OS のコマンドを呼ぶ関数に入力を渡させる攻撃です。
Perl の system 関数や PHP の exec 関数は、プログラムの中から OS のコマンドを呼び出すための関数です。Web ページで入力された文字列を、確かめないままこれらの関数に渡すと、攻撃者は入力の中にコマンドを紛れ込ませることができます。その結果、サーバ上で不正なシェルスクリプトやコマンドが実行されます。この攻撃は OS コマンドインジェクションに分類されます。インジェクション系の攻撃は、入力がどの部品に渡って解釈されるかで名前が決まると押さえておくと整理しやすくなります。
ほかの選択肢はなぜ違うのか
- アHTTP ヘッダインジェクション:HTTP ヘッダインジェクションは、入力に改行を混ぜ、サーバが返す応答ヘッダに任意のヘッダや本文を差し込む攻撃です。入力が行き着く先は HTTP の応答であり、シェルを動かすものではありません。
- ウクロスサイトリクエストフォージェリ:クロスサイトリクエストフォージェリは、ログイン中の利用者に、本人の意図しないリクエストを送らせる攻撃です。利用者の権限を悪用する手口で、サーバ上でコマンドを動かす仕組みとは異なります。
- エセッションハイジャック:セッションハイジャックは、他人のセッション ID を奪い、その利用者になりすます攻撃です。狙いは通信の乗っ取りで、入力した文字列をサーバの側で実行させる手口ではありません。
この問題の用語
- 脆弱性OSやソフトに残っている、攻撃の足掛かりになりうる弱点のこと。開発元が配る修正パッチを当ててふさぎます。
- HTTPWebブラウザとWebサーバがページをやり取りするための決まりごと。ブラウザが要求を送り、サーバが応答を返す形で通信します。
- セッションハイジャックログイン中の利用者のIDを盗み、なりすましてアクセスする攻撃です。推測しにくい乱数をセッションIDに使うことが対策になります。
出典:平成29年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問12
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問20:ステータスコードに関する説明(HTTP)
- 令和7年度 秋期 午前Ⅱ 問16(HTTP)
- 令和7年度 春期 午前Ⅱ 問20:リクエスト行に関する問題(HTTP)
- 令和7年度 春期 午前Ⅱ 問1:DRDoS攻撃に該当するもの(HTTP)
- 令和3年度 春期 午前Ⅱ 問12:SQLインジェクションの問題(セッションハイジャック)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)