자두의 데브로그

[프로젝트] POST 요청이 forbidden이라면...? 본문

프로젝트/springboot

[프로젝트] POST 요청이 forbidden이라면...?

왕자두 2024. 8. 22. 15:51

SpringSecurity 를 사용하여 SpringBoot 프로젝트를 구현하던 중 모든 POST 요청이 forbidden 상태인 것을 확인했다. GET은 되는데 DB에 접근하여 데이터를 바꾸는 요청들(POST, PATCH 등...)에 대해서는 왜 다 제한된 건지 찾아보다가 SecurityConfig 를 수정해야된다는 것을 깨달았다.

csrf().disabled();

 

SpringSecurity가 디폴트로 csrf에 대한 보안을 자동적으로 실행하기 때문에 POST나 DB에 접근하는 요청을 제한하면서 발생하는 문제였다. 따라서 csrf를 disable로 꺼주면 해당 문제가 해결된다.

 

*CSRF Cross-Site Request Forgery
: 사이트 간 요청 위조

  • 웹 애플리케이션 취약점 중 하나
  • 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 해서 특정 웹 페이지를 보안에 취약하게 한다거나 수정, 삭제 등의 작업을 하게 만드는 공격 방법

생각해봐야할 부분

  • csrf를 막기 위한 보안 기능을 냅다 꺼버리는 게 맞을지..?