Spring/Spring Security(8)
-
CSRF와 CSRF 설정
[ CSRF ] CORS는 웹 브라우저에서 제공하는 하나의 보호기능이다. 하지만 CSRF는 실제로 서버에 가해지는 공격이다. CSRF 공격은 사용자의 의지와 무관한 공격자의 의도대로 서버에 특정 요청을 일반 사용자가 보내는 것이다. 처음 말을 들었을 때 무슨 말인지 정확하게 이해가 안됐었다. 일단 아래의 예시를 한 번 봐보자. 어느 날 메일로 XX 카드에서 이벤트 행사를 하니, 웹 사이트에 접속을 하라는 요청을 받았다. 이 때 이메일을 받은 사용자는 웹 사이트에 접속을 했고 이벤트 페이지가 있었지만 흥미가 없는 이벤트라 페이지를 닫았다. 그런데 갑자기 카드 회사에서 100만원이 빠져나가버렸다는 문자가 왔다. 무슨 일일까? 이렇게 CSRF 공격은 공격자가 실제 사용자가 접속하고자 하는 사이트와 매우 유사한..
2024.03.13 -
CORS와 CORS 설정
[ CORS ] 서버 사이드 템플릿으로 작성하면 CORS 에러를 겪지 못한다. 하지만 다른 도메인, 같은 도메인이라도 다른 포트 번호를 가진 애플리케이션끼리 통신을 하면 CORS 에러를 겪을 수 있다. 그 이유는 Chrome이나 Safari 같은 브라우저가 다른 origin을 가지는 경우 CORS 기능으로 보호를 하려고 하기 때문이다. 여기서 언급하는 다른 origin은 HTTP, HTTPS 같은 scheme이 다른 경우, 도메인 명이 다른 경우, 포트 번호가 다른 경우 모두 해당된다. 그 이유는 출처가 불분명한 애플리케이션끼리의 통신은 보안성 위험을 가지기 때문이다. 그래서 웹 브라우저가 애플리케이션을 도와 외부 공격자가 직접 서버측에 요청을 보내는 것을 차단하게 하여 보안적 기능을 제공하는 것이다. ..
2024.03.13