過去問解きまくり研究所 ホーム

令和2年度 10月 午前Ⅱ 問1

攻撃手法

HTTPリクエストヘッダの問題

Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッダが記録されていた。次の HTTP リクエストヘッダから推測できる,攻撃者が悪用しようとしていた脆弱性はどれか。ここで,HTTP リクエストヘッダ中の“%20”は空白を意味する。

〔HTTP リクエストヘッダの一部〕

GET /cgi-bin/submit.cgi?user=;cat%20/etc/passwd HTTP/1.1
Accept: */*
Accept-Language: ja
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: (省略)
Host: test.example.com
Connection: Keep-Alive
答えと解説を見る

✓ これが正解イOS コマンドインジェクション

解説

セミコロンの後にシェルの命令が続く形は、OS コマンドの注入です。

手掛かりは、パラメタ user に渡された値です。%20 を空白に戻すと、値はセミコロンで始まり、その後に cat /etc/passwd という命令が続きます。シェルではセミコロンが命令の区切りになります。CGI がこの値をそのままシェルに渡すと、本来の処理の後に cat が実行され、/etc/passwd の中身が応答に混ざるおそれがあります。つまり攻撃者は、Web アプリケーションを通してサーバの OS に命令を実行させようとしています。これが OS コマンドインジェクションです。見分けるときは、送り込まれた文字列がどの言語で書かれているかに注目します。シェルの命令なのか、データベースへの問合せなのか、ブラウザで動くスクリプトなのかで、攻撃の種類が決まります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和2年度 10月 情報処理安全確保支援士試験 午前Ⅱ 問1

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)