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