SkillStack
テクノロジ系1 / 25問

情報処理安全確保支援士試験 令和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に質問できる
SkillStackで無料で始める