본문으로 건너뛰기

CSRF와 XSS 공격

CSRF(Cross Site Request Forgery)

해커가 사용자의 계정 권한을 도용하여 사이트의 중요 기능을 실행, GET을 제외한 요청하는 공격

해결책

  • 서버에서 CSRF token을 생성하여 세션에 저장하고, 클라에서 요청시 해당 토큰을 함께 전송하여 인증한다.
  • SameSite(SameOrigin 정책)를 설정하여 다른 사이트에서는 쿠키를 사용 할 수 없도록 제한

XSS(Cross Site Scripting)

브라우저에 스크립트 코드를 삽입해 실행시켜 개발자가 고려하지 않은 기능을 작동하게 함 쿠키정보, 세션, 시스템 권한 획득, 악성 코드 다운로드 등등

해결책

  • 입력 값들의 유효성 검증, 특수문자를 정규식을 이용해 제거
  • 서버에서 CSP를 이용하여 웹사이트에서 허용된 리소스(스크립트)만 실행되도록 제한
  • HTTP 대신 HTTPS이용, 통신 프로토콜을 암호화