IT terminology

Cross-site scripting is an attack technique that exploits vulnerabilities in web applications by injecting malicious scripts into web pages to be executed by other users.

Cross-site scripting [クロスサイトスクリプティング(XSS)]

 クロスサイトスクリプティング(XSS)は、ウェブアプリケーションの脆弱性を悪用する攻撃の一種で、攻撃者が悪意のあるスクリプトをウェブページに注入することで他のユーザーに影響を与えるものです。この攻撃により、攻撃者は被害者のブラウザ上でスクリプトを実行させ、クッキーやセッショントークンのような機密情報を盗んだり、ユーザーに代わって操作を行うなど、多岐にわたる悪影響を及ぼすことが可能です。

 XSS攻撃は主に、ウェブアプリケーションがユーザーからの入力を適切に検証またはエスケープせずにページの内容として直接使用することで発生します。この脆弱性を利用することで、攻撃者はウェブページにスクリプトタグを含む悪意のあるコードを注入し、他のユーザーがそのページを閲覧する際に実行されるようにします。

 XSS攻撃は大きく3つのカテゴリに分けられます。

反射型XSS(Reflected XSS)
ユーザーからの入力が即座にウェブページに反映され、エスケープ処理が行われずにそのまま実行されるケースです。主にフィッシング攻撃などで見られます。
格納型XSS(Stored XSS)
悪意のあるスクリプトがウェブアプリケーションのデータベースに保存され、そのページを閲覧する全てのユーザーに対してスクリプトが実行されるケースです。
DOMベースのXSS(DOM-based XSS)
攻撃スクリプトがウェブアプリケーションの DOM(Document Object Model)を通じて実行されるケースで、ページ自体は攻撃者によって変更されず、ブラウザが DOMを操作する過程でスクリプトが実行されます。

 XSSを防ぐには、ウェブアプリケーションがユーザーからの入力を慎重に検証し、エスケープすること、特に HTML、JavaScript、URLのコンテキストで安全なコーディング慣行を適用することが重要です。また、セキュリティヘッダーの使用やコンテンツセキュリティポリシー(CSP)を設定することで、XSS攻撃のリスクを減らすことができます。