情報処理安全確保支援士試験 令和5年度 秋期 午前II 問1
Webアプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち、入力した文字列がPHPのexec関数などに渡されることを利用し、不正にシェルスクリプトを実行させるものは、どれに分類されるか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
PHPのexec関数などは、指定された文字列をOSのシェルに渡してコマンドとして実行します。利用者の入力を十分に検証せず、その文字列の一部として組み込むと、「;」「&&」「|」などのシェルの制御記号を挿入され、本来予定していないコマンドまで実行されるおそれがあります。このように、外部から与えた文字列をOSコマンドとして不正に解釈させる攻撃が、OSコマンドインジェクションです。対策としては、外部入力をシェルに渡さない設計を優先し、やむを得ない場合は許可する値を限定します。
アのHTTPヘッダインジェクションは誤りです。これは、改行文字などをHTTPレスポンスヘッダへ混入させ、任意のヘッダやレスポンス本文を追加させる攻撃です。
ウのクロスサイトリクエストフォージェリは誤りです。これは、ログイン済み利用者を罠のページへ誘導し、その利用者の権限で意図しない処理をWebサイトに実行させる攻撃です。
エのセッションハイジャックは誤りです。これは、セッションIDを盗んだり推測したりして、正規利用者になりすます攻撃です。
【ポイント】 OSコマンドインジェクションでは、Webアプリケーションを踏み台としてOSの機能が悪用されます。 SQL文に不正な文字列を混入させるSQLインジェクションとの違いを、命令を解釈する主体がOSかDBMSかで整理しておきましょう。
出典:令和5年度 秋期 情報処理安全確保支援士試験 午前II 問1
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる