SC情報処理安全確保支援士試験 午前Ⅱ
令和4年度春期 情報処理安全確保支援士 午前Ⅱ 問1
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア〔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
- イHTTPヘッダインジェクション (HTTP Response Splitting) イ0Sコマンドインジェクション
- ウSOLインジェクション
- エクロスサイトスクリプティング
解き方のヒントを見る
HTTPリクエストに混ざったOSコマンドを見抜こう
HTTPリクエストの中に`;cat /etc/passwd`みたいな文字列が入っていたら要注意だよ。これは、Webアプリに渡した入力値をそのままシェルで実行させて、サーバ上のOSコマンドを勝手に動かそうとしている可能性が高いんだ。つまり、狙われているのはOSコマンドインジェクションだよ。
この問題で問われていること
この問題では、入力値がSQL文やHTMLに混ざる話ではなく、OSコマンドとして実行される場面を見抜けるかがポイントだよ。たとえるなら、受付で名前を書くだけのはずなのに、こっそり『金庫を開けて』という命令まで書き足しているようなものなんだ。
攻撃文字列の意味
`;` によるコマンド連結で `/etc/passwd` を読ませようとしている点が典型的です。
URL パラメータ\n-> `; cat /etc/passwd`\n-> OS コマンド実行狙い
確認ポイント
- SQL 文断片ではありません。
- XSS 用スクリプトでもない。
- OS コマンドインジェクションを選ぶ。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
これは不正解だよ。HTTPヘッダインジェクションは、サーバが返す「返事の伝票」に余計な行を書き足してしまうような攻撃だよ。今回あやしいのはヘッダを書き換える話ではなく、URLのuserに「;cat /etc/passwd」というOSの命令っぽいものを混ぜている点なんだ。
選択肢イ(正解)
これが正解だよ。userの値に「;cat /etc/passwd」が入っていて、これはLinuxなどでファイルを表示する命令だよ。たとえるなら、窓口で名前を書く欄に「ついでに金庫の中身を見せて」と命令を書き込む感じ。アプリが入力をそのままOSに渡すと、別の命令として実行される危険があるので、OSコマンドインジェクションだよ。
選択肢ウ
これは不正解だよ。SQLインジェクションは、データベースへの問い合わせ文に悪い命令を混ぜる攻撃だよ。たとえるなら、図書館の検索用紙に「この本を探して」ではなく「貸出記録を全部見せて」と書き足す感じ。今回はSQLの断片ではなくOSの命令が入っているので違うよ。
選択肢エ
これは不正解だよ。クロスサイトスクリプティングは、利用者のブラウザで悪いスクリプトを動かす攻撃だよ。たとえるなら、掲示板にいたずらメモを貼って、見た人のブラウザに勝手な動きをさせる感じ。今回の「cat /etc/passwd」はブラウザで動くJavaScriptではなく、サーバ側OSへの命令なので違うよ。
出典:独立行政法人 情報処理推進機構(IPA)令和4年度春期 情報処理安全確保支援士試験 午前Ⅱ 問1(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
- 令和4年度(2022年)の過去問
- 午前Ⅱの過去問
- 令和4年度春期の過去問
- 「企画・設計・開発・運用でのセキュリティ確保」の過去問
- 「情報セキュリティインシデント管理」の過去問
- 情報処理安全確保支援士試験のトップ
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針