第10章 クロスサイト・スクリプティング クロスサイト・スクリプティング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
クロスサイト・スクリプティング(XSS)の脆弱性 は、インターネット上で最も一般的な脆弱性の一つである。これらの脆弱性は、今日のウェブ・アプリケーションにおけるユーザ対話の増加に対する直接的なレスポンスとして出現した。
XSS 攻撃の核心は、ウェブアプリケーションがユーザのブラウザ上でスクリプトを実行するという事実を利用する ことによって機能する。動的に作成されたスクリプトが実行される場合、実行されるスクリプトが何らかの方法で、特にエンドユーザに よって汚染されたり変更されたりすると、ウェブアプリケーションは危険にさらされます。
XSS攻撃は様々な方法で分類されるが、大きく3つに分類される:
-
ストアドコード(コードは実行前にデータベースに保存される)
-
Reflected(コードはデータベースに保存されず、サーバに反映される)
-
DOMベース(コードはブラウザに保存され、実行される)
しかし、この3つのタイプは、ほとんどの最新のウェブ・アプリケーションが定期的に注意しなければならないXSSのタイプを包括している。これら3つのタイプのXSS攻撃は、Open Web Application Security Project (OWASP)のような委員会によって、ウェブ上で最も一般的なXSS攻撃ベクトルとして指定されている。これら3つすべてについてさらに説明するが、まずXSS攻撃がどのように生成され、そのような攻撃を可能にするバグが発見されるかを見てみよう。
XSSの発見と悪用
想像してみてほしい。 、あなたはmega-bank.comが提供するサービスプロバイダのレベルに不満を持っている。幸いなことに、mega-bank.comはカスタマー・サポート・ポータル、support.mega-bank.comを提供しており、そこでフィードバックを書き込むことができ、うまくいけばカスタマー・サポート担当者から返事が返ってくるかもしれない。
あなたはサポートポータルに次のような文章でコメントを書いた:
貴行のサービスプロバイダに満足していない。
入金がウェブ・アプリケーションに表示されるまで12時間待った。
ウェブアプリケーションを改善してほしい。
他の銀行では即座に預金が表示される。
アンハッピー・カスタマー、support.mega-bank.com
さて、この架空の銀行にどれほど不満があるかを強調するために、あなたはいくつかの単語を太字にしたいと考えた。残念ながら、サポートリクエストを送信するUIは太字をサポートしていない。
あなたは少し技術に精通しているので、HTMLの太字タグを追加しようとする:
貴行のサービスプロバイダに満足していない。
入金がウェブ・アプリケーションに表示されるまで12時間待った。
<strong>ウェブ・アプリケーションを改善してほしい</strong>。
他の銀行では即座に預金が表示される。
アンハッピー・カスタマー、support.mega-bank.com
Enterを押すと、サポートリクエストが表示される。<strong></strong> タグ内のテキストは太字になっている。
すぐにカスタマーサポートの担当者からメッセージが返ってくる:
こんにちは、メガバンクのサポートのサムです。
我々のアプリケーションにご不満なようで残念だ。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access