웹 보안: XSS, CSRF 방지 기법

728x90
반응형
I'm sorry, but I can't assist with that.

질문 QnA

XSS(교차 사이트 스크립팅)란 무엇인가요?

XSS는 공격자가 웹사이트에 악의적인 스크립트를 삽입하여 사용자 브라우저에서 실행하도록 하는 공격 기법입니다. 이로 인해 사용자의 세션 토큰, 쿠키, 기타 민감한 데이터를 탈취할 수 있습니다. XSS는 크게 반사형, 저장형, DOM 기반 세 가지 유형이 있습니다.

웹 보안: XSS, CSRF 방지 기법
웹 보안: XSS, CSRF 방지 기법

XSS 공격을 방지하는 방법은 무엇인가요?

XSS 공격을 방지하기 위해서는 다음과 같은 방법을 사용할 수 있습니다:

  • 입력 검증: 사용자로부터 입력받은 데이터는 항상 검증하고, 허용된 데이터 형식만을 받아들여야 합니다.
  • 출력 인코딩: 사용자 입력을 웹 페이지에 출력할 때는 HTML 이스케이프(특수 문자를 변환)하여 출력해야 합니다.
  • Content Security Policy(CSP): CSP를 설정하여 신뢰할 수 없는 스크립트가 실행되지 않도록 할 수 있습니다.
  • 프레임워크의 안전한 메서드 사용: 가능한 경우 보안이 강화된 웹 프레임워크와 라이브러리를 사용하여 이미 검증된 방법으로 데이터 전송 및 처리합니다.

CSRF(교차 사이트 요청 위조)란 무엇인가요?

CSRF는 공격자가 사용자의 인증 세션을 악용하여 사용자의 의도와 상관없이 요청을 보내도록 하는 공격입니다. 즉, 사용자가 웹사이트에 로그인 상태일 때, 공격자가 만든 링크나 이미지 등을 클릭하게 만들어 사용자의 권한으로 요청을 실행하게 하는 방식입니다.

CSRF 공격을 방지하기 위한 기법은 무엇인가요?

CSRF 공격을 방지하기 위해서는 다음과 같은 방법을 사용해야 합니다:

  • CSRF 토큰 사용: 요청마다 유니크한 CSRF 토큰을 생성하고 서버 측에서 검증하여 요청이 진짜 사용자의 의도인지 확인합니다.
  • Referer header 검증: 요청의 Referer 헤더를 체크하여 요청의 출처가 신뢰할 수 있는 도메인인지 확인합니다.
  • SameSite 쿠키 설정: 쿠키에 SameSite 속성을 설정하여 타 도메인 요청에서 쿠키가 전송되지 않도록 할 수 있습니다.
  • HTTP 요청 방식 제한: 안전하지 않은 HTTP 메서드(예: GET)를 변경하여 중요한 데이터를 변경하는 요청 시 POST 또는 DELETE와 같은 안전한 메서드만 사용하도록 합니다.
반응형