보안

CSRF와 XSS

뽀글뽀글 개발자 2024. 4. 9. 16:17

CSRF

cross site request forgery의 약자로 악의적인 사이트에서 위조된 요청을 통해 공격하는 것을 뜻한다.

 

예를 들어 유저 A가 N 은행 사이트에 로그인해서 인증된 상태일 때, 악의적인 사이트 X에서 N 사이트에 대해 유저 A의 브라우저로 비밀번호 변경 요청을 보낸다면? 실제 유저 A의 N 사이트 비밀번호와 아이디를 얻어 X 사이트의 해커가 유저 A의 계정으로 로그인을 할 수 있게된다.

이런식으로 인증된 유저의 브라우저를 통해서 공격하는 방식이 바로 CSRF이다.

 

XSS

Cross-Site Scripting의 약자로 악의적인 사이트에서 강제로 스크립트 코드를 실행해서 유저의 정보를 탈취하는 공격을 뜻한다.

 

예를 들어 유저 A가 X 사이트에 접근했을 때 X 사이트에서 스크립트를 실행해서 A의 브라우저에 있는 쿠키나 로컬 스토리지의 정보를 읽어 JWT와 같은 인증 정보를 탈취할 수 있다.

 

 

공통점과 차이점

CSRF와 XSS는 유저의 브라우저를 통해서 공격을 한다는 공통점이 있다.

CSRF는 유저가 의도하지 않은 요청을 발생시키고, XSS는 악의적인 스크립트를 실행한다는 점에서 방식의 차이가 있다.

 

 

Reference

Spring Security CSRF 토큰을 이용한 CSRF 방지

https://velog.io/@woohobi/Spring-security-csrf%EB%9E%80

 

Spring security - csrf란?

모든 코드는 github에 있습니다.최근에 Spring security를 한창 공부하고 있는데 (조만간 블로그에 security 관련 글이 여러개 올라갈것 같다) 한 가지 궁금하게 한 코드가 있었다.http.csrf().disable()에서 csr

velog.io

https://hyunsangwon93.tistory.com/28

 

Spring Boot CSRF AJAX 전송 방법

CSRF ? 사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수

hyunsangwon93.tistory.com

 

 

Spring XSS 방지 필터

https://github.com/naver/lucy-xss-servlet-filter

 

GitHub - naver/lucy-xss-servlet-filter

Contribute to naver/lucy-xss-servlet-filter development by creating an account on GitHub.

github.com