CSRF란 무엇인가??
위키에서 보니
사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다.
사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, 사이트간 요청 위조는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다.
이것을 보호하기 위해서
CSRF protection 은 Spring Security 에 의해서 작동된다.
Spring Security 는 Synchronizer Token Pattern을 사용한다.
각 request는 세션쿠키와 임의로 생성된 토큰을 포함한다.
request를 진행할 때 Spring Security는 진행하기 전에 토큰을 확인한다.
이 모든 것은 Spring Security에 의해서 다뤄진다..
<form:form>은 자동적으로 CSRF 토큰을 추가한다.
만약 <form:form> 을 사용하지 않으면 손수 CSRF 토큰을 집어 넣어야 한다.
엣지나 크롬에다가 url을 집어넣고 소스 원본보기를 해보면
위 사진처럼 토큰이 자동으로 생긴 걸 볼 수 있다.
수동으로 만드는 방법은
<form> </form> 형태로 바꾸고
아래에다가 위 내용을 첨부하면 된다..
'컴퓨터공학 > Spring & Hibernate' 카테고리의 다른 글
Spring> Security> JDBC Database Authentication (0) | 2021.05.30 |
---|---|
Spring> Security> User Role (0) | 2021.05.28 |
Spring> Security> Logout (0) | 2021.05.28 |
Spring> Security> Bootstrap CSS Login Form (0) | 2021.05.28 |
Spring> Security> Login Form (0) | 2021.05.27 |