クロスサイトスクリプト（XSS）は、攻撃者がクライアント側のウェブサイトの悪意のあるコードに注入できるようにするセキュリティの脆弱性です。このコードはVictmasによって実行され、攻撃者がアクセスコントロールを避けてユーザーを通過できるようにします。Open Web Application Security Projectによると、XSSは2017年のWebアプリケーションの7番目に一般的な脆弱性でした。

これらの攻撃は、Webアプリケーションが十分な検証やコーディングを使用しない場合、成功します。ユーザーのナビゲーターは、悪意のあるスクリプトが信頼できないことを検出できないため、Cookie、セッショントークン、またはサイトのその他の特定の機密情報にアクセスするか、EScriptがHTMLコンテンツを書き換えることができます。

XSS攻撃は通常、1）データが悪意のあるコンテンツとして検証されずに動的コンテンツがWebユーザーに送信されない、依存性のないソース（ほとんどの場合、Webアプリケーション）または2）を介してWebアプリケーションを入力すると発生します。

悪意のあるコンテンツには、JavaScriptが含まれることがよくありますが、Browserが実行できるHTML、Flash、またはその他のコードが含まれる場合があります。さまざまなXSSベースの攻撃はほとんど無制限です。しかし、一般に、Cookieやその他のセッション情報などのプライベートデータの攻撃者への送信、攻撃者によって制御されたWebページへの被害者のリダイレクト、または脆弱なサイトの外観の下でのユーザーの機器における他の悪意のある操作の実現が含まれます。

XSS攻撃は、3つのカテゴリに分類できます：保存（持続性とも呼ばれます）、反射（非頻度とも呼ばれます）、またはDOMに基づいています。
Cross-site scripting (XSS) es una vulnerabilidad de seguridad que permite a un atacante inyectar en un sitio web código malicioso del lado del cliente. Este código es ejecutado por las vícitmas y permite a los atacante eludir los controles de acceso y hacerce pasar por usuarios. Según el Open Web Application Security Project, XSS fue la séptima vulnerabilidad más común de las aplicaciones web en 2017.

Estos ataques tienen éxito si la aplicación web no emplea suficiente validación o codificación. El navegador del usuario no puede detectar que el script malicioso no es confiable, por lo que da acceso a cookies, tokens de sesión u otra información sensible específica del sitio, o permite que el escript reescriba contenido HTML.

Los ataques XSS suelen producirse cuando 1) los datos entran en una aplicación web a través de una fuente no confiable (en la mayoría de los casos, una solicitud web) o 2) el contenido dinámico se envía a un usuario web sin ser validado como contenido malicioso.

El contenido malicioso a menudo incluye JavaScript, pero a veces HTML, Flash o cualquier otro código que el navegador pueda ejecutar. La variedad de ataques basados en XSS es casi ilimitado. pero comúnmente incluyen la transmisión de datos privados como cookies u otra información de sesión al atacante, la redirección de la víctima a una página web controlada por el atacante o la realización de otras operaciones maliciosas en el equipo del usuario bajo la apariencia de un sitio vulnerable.

Los ataques XSS se pueden clasificar en tres categorías: almacenados (también llamados persistentes), reflejados (también llamados no persistentes) o basados en DOM.