CSRF 방지
1.CSRF(2)
※ 주의 사항 :
1. 교육 목적으로만 이용 해주세요.
2. 무단 침입, 데이터 유출, 개인 정보 침해 등 불법적인 활동은 심각한 법적 결과를 초래할 수 있습니다.
3. 개인적인 테스트 환경을 구축해서 실습하시길 바랍니다.
1.1 CSRF 방지하는 법
csrf 방지하는 방법
근본적인 방법
- 본인만 알 수 있는 인증정보를 작성하도록 해서 같이 제출하기
csrf 는 모든 요청에서 일어날 수 있는데 전부 인증정보를 작성하게 만든다면 사용자가 불편할 뿐만 아니라 개발에 어려움이 있다. 그래서 주관적인 이지만 본인 이외의 다른 사람이 임의로 서버에 요청하면 문제를 일으킬 만한 곳은 csrf 토큰과 referer 헤더 검증을 거친다.
referer 헤더 검증에서 해당 경로가 아니면 서버 응답이 거절되는데, 이는 개발자가 사이트를 만들 때, 확장성 제한이 발생하는데
보안 전문가로서 개발자가 확장성 문제로 Referer 헤더 검증을 느슨하게 설정하길 원할 때 개발자에게 보안 위험을 충분히 인식시키고,
가능한 대안을 제시한 후 최종 결정을 개발자와 비즈니스 이해관계자가 내리도록 하는 것이 중요합니다. 이 과정에서 보안과 확장성 사이의 균형을 맞추는 것이 핵심입니다.
그리고 referer 헤더 검증이 개발자에 의해 우회가 되는 경우가 있는데,<meta name="referrer" content="no-referrer">
를 써서 헤더가 없음에도 정상적으로 처리가 된다.
sop same origin policy 같은 출처의 자원에만 접근할 수있다. 개발자가 설정하는 게 아니라 웹 브라우저가 자동으로 적용하는 보안 정책이다.
같은 출처 -도메인 -포트 -스키마
다른 출처의 자원에 접근하지 못하게 스크립트가 작동하지 않는다.
댓글남기기