Web application Security
- 개발자들이 웹사이트, 모바일 어플, 웹 API 등을 만들 때에 해커들의 공격을 막기 위해서 보안은 필수사항
- 여러가지 공격들
CSRF
- Cross Site Request Forgery
- 다른 오리진(Cross-site)에서 유저가 보내는 요청(Request)을 조작(Forgery)하는 것
- 다른 오리진이기 때문에 response에 직접 접근할 순 없다.
CSRF 공격을 하기 위한 조건
- 쿠키를 사용한 로그인
- 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야 함.
- 예측할 수 있는 요청/파라미터를 가지고 있어야 함.
- request에 해커가 모를 수 있는 정보가 담겨있으면 안됨.
CSRF 방어하기
- CSRF 토큰 사용하기
- 서버측에서 CSRF 공격에 보호하기 위한 문자열을 유저의 브라우저와 웹 앱에만 제공
- Same-site cookie 사용하기
- 같은 도메인에서만 세션/쿠키를 사용할 수 있다.