CSRF

HS L·2023년 4월 4일
0

내일배움캠프

목록 보기
21/73
post-thumbnail

문제

csrf 오류

- 로그인시 발생하는 403오류

로그인
403 오류

시도

오류페이지 내용 구글링

- CSRF(Cross Site Request Forgery)가 있거나
- Django’s CSRF mechanism이 올바르게 동작하지 않는경우
- 오류 발생한 강의내용 복원 후 재진행
- csrf삽입 부분 누락 확인

해결

적절한 위치에 csrf 삽입

- CSRF machanism이 올바르게 동작하지 않은경우에 해당하며 아래의 해당 코드가 들어있지 않아 오류메세지를 반환하는 상황.
- user > sign-in 파일 11행의 위치에 {% csrf %}를 넣어준다.

해결코드

++CSRF

- 웹사이트 취약점 공격
- 사용자의 의지와 관계없이 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격
- 사용자가 접속한 상황에서 요청값을 조작, 사용자가 원하지 않는 action을 보낸다.
- 사용자의 권한에 따라 위험성이 달라진다.

csrf token

- CSRF를 방어하기 위해 사용되는 인증방식
- 서버에 들어온 요청이 실제 서버에서 허용한 요청이 맞는지 확인하기 위한 토큰
- csrf token의 동작방식


- 사용자가 해당 페이지에 접속하면 Django에서 자동으로 csrf_token을 클라이언트로 보내어 cookie에 저장
- 사용자가 form을 입력하여 제출할때 form과 cookie의 csrf_token을 POST로 전송한다.
- 전송된 token의 유효성을 검증하여 유효한 요청이면 요청을 처리
- token이 유효하지 않거나(없거나 값이 잘못된 경우) 검증 오류 시에는 403 Forbidden Response 반환

참고링크1
참고링크2
참고링크3

profile
식이

0개의 댓글