CSRF заставляет браузер жертвы отправить аутентифицированный запрос на ваш сайт без её намерения. XSS выполняет код в вашем origin; CSRF эксплуатирует доверие сайта к cookies браузера.
Разбор
- Типичный вектор: форма/img с другого сайта на
POST /transfer.
- Работает, когда cookie сессии уходит автоматически (SameSite=None/Lax нюансы).
- XSS опаснее: полный контроль DOM и кража токенов из JS.
- CSRF не читает ответ cross-origin (SOP), но может менять состояние.
Итог
CSRF = нежелательное действие с cookies жертвы; XSS = выполнение кода в вашем origin.