情報セキュリティ
基本情報技術者試験|あるサイトの検索結果画面は、利用者がURLで渡した検索語を『〇〇の検索結果』という形でHTML本文にそのまま出力…
あるサイトの検索結果画面は、利用者がURLで渡した検索語を『〇〇の検索結果』という形でHTML本文にそのまま出力している。細工した検索語を含むURLを被害者に踏ませると、被害者のブラウザでスクリプトが実行される反射型XSSが指摘された。この問題への根本対策として、最も適切なものはどれか。
ウ画面へ出力する直前に、出る先の文脈に応じて特殊文字を無害な表記へ置き換えてから渡す。
ア検索語に使える文字数の上限を短く設定し、それより長い検索語は受け付けないようにする。
イ検索結果画面のURLを利用者ごとに毎回異なる値とし、同じURLを後から再び使えないように変える。
エ検索機能の利用にログインを必須とし、未ログインの状態での検索は行えないように制限する。
正解
ウ.画面へ出力する直前に、出る先の文脈に応じて特殊文字を無害な表記へ置き換えてから渡す。
反射型XSSの原因は、要求パラメータの検索語を無加工でHTMLに出力している点にある。画面へ出力する直前に、出る先がHTML本文か属性かなどの出力文脈に応じて<や>、&などの特殊文字を無害な表記へ置き換えれば、細工された検索語はタグではなく単なる文字列として表示され、ブラウザ上でスクリプトとして実行されなくなる。これが根本対策である。
?選択肢ごとの解説
ウ ○反射型XSSの原因は、要求パラメータの検索語を無加工でHTMLに出力している点にある。画面へ出力する直前に、出る先がHTML本文か属性かなどの出力文脈に応じて<や>、&などの特殊文字を無害な表記へ置き換えれば、細工された検索語はタグではなく単なる文字列として表示され、ブラウザ上でスクリプトとして実行されなくなる。これが根本対策である。
ア ×文字数上限の短縮は入力長を制限するだけで、攻撃に必要な短いスクリプトは収まるため、スクリプトの実行は防げない。
イ ×URLを毎回異なる値にしても、被害者を踏ませる細工URLにその値を含めれば成立するため、反射型XSSの実行自体は阻止できない。
エ ×ログイン必須化は利用者を限定するだけで、認証後の利用者や奪取アカウントを踏ませれば成立し、出力時にスクリプトが実行される問題を解消しない。
情報セキュリティの他の問題
N社の掲示板サービスで、利用者が投稿した内容をそのままWebページに表示している。ある投稿を閲覧した別の利用者のブラウザ上で…W社のWebサービスでは、過去にXSSによりセッションCookieが盗まれる被害があった。XSSの修正と並行し、万一スクリプ…あるWebサービスで二つの不具合が報告された。(1)商品レビュー投稿欄に入れたスクリプトがデータベースに保存され、以後そのペ…あるWebアプリの一覧画面は、利用者が選んだ並べ替え対象の列名をSQL文のORDER…A社のWebアプリで、利用者が入力する都道府県コードを検証する処理を実装する。コードは『01』から『47』までの定義済みの値…B社では開発中のWebアプリについて、まだ動作する環境を構築していない段階で、ソースコードに潜む脆弱性をできるだけ早期に洗い…C社の脆弱性管理担当者は、診断ツールが報告した多数の脆弱性に対し、限られた人員で修正対応する順序を決めたい。対応の優先度を客…D社の製品は多数のオープンソースライブラリを組み込んでいるが、どのバージョンの何を使っているかを正確に把握できておらず、新た…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0107
