¿Qué es el lado del cliente que no es DOM XSS?

2

He estado leyendo sobre las nuevas categorías de XSS. De acuerdo con OWASP , ya no solo están reflejados, almacenados y basados en DOM XSS, sino que son servidores / lado del cliente, y luego subdividido en reflejado / almacenado.

Según el sitio, XSS basado en DOM es solo una sección específica de XSS del lado del cliente. No estoy siguiendo la distinción entre DOM y XSS no del DOM lado del cliente . Cada lado del cliente XSS que se me ocurre involucra el DOM. Entiendo cómo puedo tener XSS del lado del cliente DOM persistente y no persistente, pero ¿cuál sería un ejemplo de XSS del lado del cliente no DOM (reflejado y almacenado)?

    
pregunta user134167 15.10.2018 - 18:38
fuente

2 respuestas

1

Intentaré explicarlo utilizando algunas citas de la página OWASP que has vinculado. Primero, ¿qué es DOM basado en XSS?

  

... la fuente de los datos está en el DOM, el sumidero también está en el DOM y el flujo de datos nunca abandona el navegador.

El lado del cliente XSS no siempre cumple con esta definición. A pesar de que los datos se insertan en la página del cliente, los datos pueden provenir de otra parte, como una respuesta API del servidor:

  

[Para XSS del lado del cliente, la fuente] de estos datos podría ser del DOM, o podría haber sido enviada por el servidor (a través de una llamada AJAX o una carga de página).

Entonces (mi punto culminante):

  

Con estas nuevas definiciones, la definición de DOM Based XSS no cambia. DOM Based XSS es simplemente un subconjunto de Client XSS, donde el origen de los datos se encuentra en algún lugar del DOM, en lugar de hacerlo desde el servidor .

Un ejemplo de XSS del lado del cliente que no es de DOM sería si el cliente realiza una llamada a la API, recupera algunos datos que no son de confianza y los pasa directamente a innerHTML sin ningún tipo de saneamiento.

    
respondido por el Anders 15.10.2018 - 19:07
fuente
0

"Basado en DOM" es parte de la antigua convención de nomenclatura de tres partes (reflejada, almacenada, DOM). Ya no es un término actual, ya que XSS dejó de ser solo un problema de servidor. Todos los ataques XSS del lado del cliente utilizan el DOM, independientemente de la persistencia o el punto de inyección.

El término DOM implica una acción dinámica; algo que sucede / cambia después de que se carga la página, mientras que el problema del lado del servidor se muestra en el marcado HTML del código fuente de la página.

    
respondido por el dandavis 15.10.2018 - 19:02
fuente

Lea otras preguntas en las etiquetas