El enlace que mencionas dice que DOM-XSS es el XSS de facto. Esto simplemente indica que en XSS está ejecutando scripts (por ejemplo, JavaScript) que se inyectan en el DOM .
¿CÓMO se entrega la URL / carga maliciosa al usuario?
En algunos casos ( XSS reflejado ) es phishing: "Echa un vistazo thiswebsit.com?p=[XSS payload] "Cuando el usuario de phishing visita el sitio, el script se ejecuta en su navegador.
En otros casos ( XSS almacenado ) es posible que pueda almacenar un por ejemplo, un cuadro de comentarios que se muestra a todos los demás visitantes del sitio: "¡Hola, este es un sitio excelente! [Carga útil XSS]. Ahora, cuando un usuario visita el sitio y su comentario se procesa, el script malicioso también se ejecuta en su navegador.
En ambos casos, aunque ha insertado JavaScript, esa carga útil no es realmente visible como texto para el usuario final. Sin embargo, el script se ejecuta en el navegador del usuario final. La carga útil del script puede ser un simple cuadro de alerta, puede ser una carga útil que envía sus cookies de autenticación de sesión a un servidor que usted controla (lo que le permite 'iniciar sesión' como ellos), o un número de otras cosas .
¿Cómo identifica el atacante un sitio con una posible vulnerabilidad XSS basada en DOM?
Burp ya fue mencionado, esta es una gran herramienta.
Una forma muy básica de comenzar a probar / comprender XSS es preguntarse a sí mismo al ver una página "¿Qué datos controlo y qué datos se muestran de nuevo?". Si puede probar estos puntos de datos para la inyección de scripts, está en camino de comprender XSS. Los puntos de datos que comúnmente son vulnerables a los ataques XSS básicos son comentarios, nombres de usuario, detalles de perfil, mensajes de error y parámetros de búsqueda.