令和5年度 秋期 午前Ⅱ 問1
攻撃手法
シェルスクリプトに関する問題
Web アプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列が PHP の exec 関数などに渡されることを利用し,不正にシェルスクリプトを実行させるものは,どれに分類されるか。
- アHTTP ヘッダインジェクション
- イOS コマンドインジェクション
- ウクロスサイトリクエストフォージェリ
- エセッションハイジャック
答えと解説を見る
✓ これが正解イOS コマンドインジェクション
解説
シェルを呼ぶ関数に入力が渡る攻撃は OS コマンドインジェクションです。
設問の手掛かりは、入力した文字列が PHP の exec 関数などに渡り、シェルスクリプトが実行されるという点です。exec のような関数は、渡された文字列を OS のコマンドとしてシェルに実行させます。入力の中に区切り記号と別のコマンドを混ぜておくと、開発者が想定していないコマンドまでサーバ上で動いてしまいます。これが OS コマンドインジェクションです。対策としては、シェルを呼ぶ関数をできるだけ使わないこと、使う場合も入力を許可リストで検査することが挙げられます。見分けるときは、攻撃の結果として何が実行されるのかに注目すると迷いません。
ほかの選択肢はなぜ違うのか
- アHTTP ヘッダインジェクション:HTTP ヘッダインジェクションは、改行コードを混ぜた入力で、サーバが返す応答ヘッダに任意のヘッダを差し込む攻撃です。名前は似ていますが、狙われるのはヘッダの中身であり、コマンドが動くわけではありません。
- ウクロスサイトリクエストフォージェリ:クロスサイトリクエストフォージェリは、ログイン中の利用者のブラウザから、本人が意図しない要求を送らせる攻撃です。利用者の権限を悪用するもので、サーバでシェルスクリプトを動かす手口ではありません。
- エセッションハイジャック:セッションハイジャックは、セッション ID を盗んだり推測したりして、正規の利用者になりすます攻撃です。乗っ取るのは利用者のセッションであり、関数への入力からコマンドを実行させる話とは別物です。
この問題の用語
- アプリケーションソフトウェア利用者の目的に直接こたえるソフトウェアで、表計算や会計、業務用の専用ソフトなどがあたります。機器そのものを動かす基本ソフトウェアの上で動きます。
- 脆弱性OSやソフトに残っている、攻撃の足掛かりになりうる弱点のこと。開発元が配る修正パッチを当ててふさぎます。
- HTTPWebブラウザとWebサーバがページをやり取りするための決まりごと。ブラウザが要求を送り、サーバが応答を返す形で通信します。
- セッションハイジャックログイン中の利用者のIDを盗み、なりすましてアクセスする攻撃です。推測しにくい乱数をセッションIDに使うことが対策になります。
出典:令和5年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問1
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問20:ステータスコードに関する説明(HTTP)
- 令和7年度 秋期 午前Ⅱ 問16(HTTP)
- 令和6年度 秋期 午前Ⅱ 問12:WAFに関する問題(アプリケーションソフトウェア)
- 令和5年度 秋期 午前Ⅱ 問25:直接修正に関する問題(アプリケーションソフトウェア)
- 令和3年度 春期 午前Ⅱ 問12:SQLインジェクションの問題(セッションハイジャック)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)