情報セキュリティ

基本情報技術者試験クロスサイトスクリプティング」の問題

情報セキュリティ情報セキュリティ難易度:normal
あるサイトの検索結果画面は、利用者がURLで渡した検索語を『〇〇の検索結果』という形でHTML本文にそのまま出力している。細工した検索語を含むURLを被害者に踏ませると、被害者のブラウザでスクリプトが実行される反射型XSSが指摘された。この問題への根本対策として、最も適切なものはどれか。
画面へ出力する直前に、出る先の文脈に応じて特殊文字を無害な表記へ置き換えてから渡す。
検索語に使える文字数の上限を短く設定し、それより長い検索語は受け付けないようにする。
検索結果画面のURLを利用者ごとに毎回異なる値とし、同じURLを後から再び使えないように変える。
検索機能の利用にログインを必須とし、未ログインの状態での検索は行えないように制限する。
正解
画面へ出力する直前に、出る先の文脈に応じて特殊文字を無害な表記へ置き換えてから渡す。

反射型XSSの原因は、要求パラメータの検索語を無加工でHTMLに出力している点にある。画面へ出力する直前に、出る先がHTML本文か属性かなどの出力文脈に応じて<や>、&などの特殊文字を無害な表記へ置き換えれば、細工された検索語はタグではなく単なる文字列として表示され、ブラウザ上でスクリプトとして実行されなくなる。これが根本対策である。

?選択肢ごとの解説

ウ ○反射型XSSの原因は、要求パラメータの検索語を無加工でHTMLに出力している点にある。画面へ出力する直前に、出る先がHTML本文か属性かなどの出力文脈に応じて<や>、&などの特殊文字を無害な表記へ置き換えれば、細工された検索語はタグではなく単なる文字列として表示され、ブラウザ上でスクリプトとして実行されなくなる。これが根本対策である。
ア ×文字数上限の短縮は入力長を制限するだけで、攻撃に必要な短いスクリプトは収まるため、スクリプトの実行は防げない。
イ ×URLを毎回異なる値にしても、被害者を踏ませる細工URLにその値を含めれば成立するため、反射型XSSの実行自体は阻止できない。
エ ×ログイン必須化は利用者を限定するだけで、認証後の利用者や奪取アカウントを踏ませれば成立し、出力時にスクリプトが実行される問題を解消しない。
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。

基本情報技術者試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。

無料ではじめる →

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0107

【基本情報技術者試験】クロスサイトスクリプティングの問題と解答・解説|ukamiru 過去問