平成27年度 秋期 午前Ⅱ 問20
情報セキュリティ
Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が Perl の system 関数や PHP の exec 関数などに渡されることを利用し,不正にシェルスクリプトや実行形式のファイルを実行させるものは,どれに分類されるか。
- アHTTP ヘッダインジェクション
- イOS コマンドインジェクション
- ウクロスサイトリクエストフォージェリ
- エセッションハイジャック
答えと解説を見る
✓ これが正解イOS コマンドインジェクション
解説
入力を OS のコマンドとして実行させる攻撃の分類です。
Web アプリケーションが、利用者の入力した文字列を、Perl の system 関数や PHP の exec 関数のような OS のコマンドを実行する関数にそのまま渡していると、入力に紛れ込ませた命令がサーバ上で実行されてしまいます。これを悪用し、シェルスクリプトや実行形式のファイルを不正に動かす攻撃が OS コマンドインジェクションです。見分ける軸は、攻撃者の入力が最終的にどこへ届き、何として解釈されるかです。対策は、OS のコマンドを呼び出す関数をなるべく使わず、使う場合も入力を厳しく検査することです。入力がシェルに届くなら OS コマンドインジェクション、と届き先で覚えると見分けやすくなります。
ほかの選択肢はなぜ違うのか
- アHTTP ヘッダインジェクション:HTTP ヘッダインジェクションは、入力に改行を含む文字列を紛れ込ませ、Web アプリケーションが返すレスポンスのヘッダに任意のヘッダや本文を追加させる攻撃です。OS のコマンドを実行させるものではありません。
- ウクロスサイトリクエストフォージェリ:クロスサイトリクエストフォージェリは、利用者がログインしたまま罠のページを開いたとき、その利用者の権限で意図しない処理の要求を Web アプリケーションへ送らせる攻撃です。サーバ上でコマンドを動かす攻撃ではありません。
- エセッションハイジャック:セッションハイジャックは、セッション ID などを盗んだり推測したりして、正規の利用者になりすまして通信を乗っ取る攻撃です。入力した文字列を OS のコマンドとして実行させる仕組みとは別物です。
この問題の用語
- セッションハイジャックログイン中の利用者のIDを盗み、なりすましてアクセスする攻撃です。推測しにくい乱数をセッションIDに使うことが対策になります。
- 脆弱性OSやソフトに残っている、攻撃の足掛かりになりうる弱点のこと。開発元が配る修正パッチを当ててふさぎます。
- HTTPWebブラウザとWebサーバがページをやり取りするための決まりごと。ブラウザが要求を送り、サーバが応答を返す形で通信します。
出典:平成27年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問20
同じ用語が出る問題
- 令和7年度 春期 午前Ⅱ 問21:OP25Bの例(脆弱性)
- 令和7年度 春期 午前Ⅱ 問18:DRDoS攻撃に該当するもの(脆弱性)
- 令和6年度 春期 午前Ⅱ 問17:RLOに関する問題(脆弱性)
- 令和5年度 春期 午前Ⅱ 問20:OP25Bの例(脆弱性)
- 令和4年度 春期 午前Ⅱ 問16:RLOに関する問題(脆弱性)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)