Lo que entiendo sobre el XSS reflejado es
... Cuando una aplicación web es vulnerable a este tipo de ataque, lo hará pase la entrada no validada enviada a través de las solicitudes al cliente ... [1]
Suponiendo que mi aplicación web tiene una validación CSRF en el servidor que busca un token CSRF válido para todas las solicitudes. Dará el error adecuado si recibe cualquier solicitud que no contenga el token CSRF (este error es una cadena simple, no tiene vectores de ataque). En aras de la integridad, digamos también que tengo las medidas de seguridad adecuadas para evitar que el token CSRF sea robado o adivinado.
Por lo tanto, es seguro asumir que los tokens CSRF también evitan el ataque XSS reflejado porque ambos son verdaderos:
- El servidor no refleja nada si el token CSRF no está presente.
- El atacante no puede tener o adivinar el token CSRF.