XSS와 CSRF는 모두 사용자의 인증 상태를 악용할 수 있지만, 공격 방식이 다릅니다.

XSS는 공격자가 웹페이지에 악성 스크립트를 삽입하고, 해당 페이지를 방문한 사용자의 브라우저에서 실행되게 하는 공격입니다. 이를 통해 쿠키나 토큰 같은 정보를 탈취하거나, 화면을 변조하거나, 사용자의 권한으로 요청을 보낼 수 있습니다.

반면 CSRF는 악성 사이트나 링크를 통해 인증된 사용자의 브라우저가 사용자의 의도와 무관한 요청을 대상 서버에 보내도록 만드는 공격입니다. 브라우저가 쿠키와 같은 인증 정보를 요청에 자동으로 포함한다는 점을 이용합니다.

따라서 XSS는 신뢰하는 웹사이트에서 악성 스크립트가 실행되는 문제이고, CSRF는 서버가 인증된 요청과 사용자가 의도한 요청을 구분하지 못하는 문제입니다.