Basado en DOM si lo está basando en el sistema de clasificación almacenado / reflejado / DOM.
De Tipos de OWASP de secuencias de comandos entre sitios :
DOM basado en XSS es una forma de XSS desde donde fluye la totalidad de los datos contaminados
la fuente a hundir tiene lugar en el navegador, es decir, la fuente del
los datos están en el DOM, el sumidero también está en el DOM y el flujo de datos
nunca abandona el navegador.
Aquí la fuente de los datos es document.cookie
y el sumidero también se encuentra en el DOM (contenido HTML de un párrafo).
Sin embargo, la clasificación de XSS de tal manera realmente solo se reduce a la semántica, como señala el artículo:
Durante años, la mayoría de la gente pensó en estos (Almacenado, Reflejado, DOM) como
Tres tipos diferentes de XSS, pero en realidad, se superponen. Usted puede
tienen XSS basados en DOM almacenados y reflejados.
Usando lo anterior, supongo que podrías clasificarlo como "Basado en DOM reflejado".
OWASP ha intentado que las personas reclasifiquen XSS como servidor o cliente, donde DOM XSS es un subconjunto de Client XSS. El uso de este sistema sería una vulnerabilidad "Reflected Client XSS".
Independientemente de la clasificación real, la vulnerabilidad aquí está en el DOM en lugar del almacenamiento de cookies, ya que no hay necesidad de codificar HTML para el almacenamiento en una cookie. La codificación debe hacerse lo más tarde posible cuando se conoce el contexto de uso; de lo contrario, esta cookie podría haberse envenenado.
por ejemplo
- El sitio web está en
example.com
y normalmente solo escucha en HTTPS.
- Attacker Man-In-The-Middles una conexión HTTP desde su víctima y los envía a
example.com
a través de HTTP simple. El servidor HTTP en este caso es el atacante.
- Attacker establece la cookie que contiene algún código de script.
- La víctima más tarde visita el
example.com
real sobre HTTPS y se activa el XSS.
Como el código que agrega el texto al DOM no es la codificación HTML correcta, se trata de un ataque XSS basado en DOM. Como puede ver en el ejemplo anterior, la codificación HTML en el almacenamiento en la cookie no detiene el escenario de ataque anterior.