¿En qué se diferencia el XSS basado en el DOM del XSS reflejado?
En el XSS reflejado el servidor inyecta el payload en el HTML que devuelve. En el XSS basado en el DOM la respuesta del servidor está limpia, y el fallo está en el JavaScript del lado del cliente que lee un valor controlado por el atacante y lo escribe en un sink peligroso. El exploit puede vivir en el fragmento de la URL, que el servidor nunca recibe.