セキュリティ

基本情報技術者試験代表的な攻撃手法」の問題

テクノロジ系セキュリティ難易度:normal
利用者の入力をWebページに無検証で出力する不備を悪用し、第三者が用意した不正なコードを被害者のブラウザ上で動作させる攻撃はどれか。
クロスサイトスクリプティング(XSS)
SQLインジェクション
DoS攻撃
クロスサイトリクエストフォージェリ(CSRF)
正解
クロスサイトスクリプティング(XSS)

クロスサイトスクリプティング(XSS)は、利用者入力を検証・エスケープせずページに出力する不備を悪用する。攻撃者のスクリプトが被害者のブラウザ上で実行されCookie窃取等が起きるため正しい。

?選択肢ごとの解説

ア ○クロスサイトスクリプティング(XSS)は、利用者入力を検証・エスケープせずページに出力する不備を悪用する。攻撃者のスクリプトが被害者のブラウザ上で実行されCookie窃取等が起きるため正しい。
イ ×SQLインジェクションは入力値を悪用してデータベースへの問合せ文を改ざんする攻撃であり、ブラウザ上でのスクリプト実行を狙うXSSとは標的が異なる。
ウ ×DoS攻撃は大量の通信や負荷でサービスを停止・低下させる攻撃であり、スクリプトをブラウザで実行させる手口ではない。
エ ×CSRFはログイン済み利用者に意図しない要求を送らせる攻撃であり、攻撃者スクリプトを被害者ブラウザで実行する点が主眼のXSSとは仕組みが異なる。

くわしく

XSSは出力時のエスケープ不足が原因で、対策は出力エンコードや入力検証、Content Security Policyである。SQLインジェクションはDB問合せ、CSRFはセッション悪用、DoSは可用性侵害と、それぞれ標的層と対策が異なる。

本番での押さえどころ

試験のコツ

『XSS=ブラウザでスクリプト』『SQLインジェクション=DB問合せ改ざん』『CSRF=意図しない要求』と標的で区別する。

覚え方

XSSは『他人(攻撃者)の台本(Script)を被害者の舞台(ブラウザ)で演じさせる』とイメージする。

よくある誤り

XSS・SQLインジェクション・CSRFはWeb攻撃として並ぶため混同しやすい。『どこで何を実行/改ざんするか』で切り分ける。

セキュリティの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0071

【基本情報技術者試験】代表的な攻撃手法の問題 — 解答・解説|ukamiru 過去問