XSS & CSRF

수민·2023년 7월 2일
0

프론트엔드 면접

목록 보기
6/8
post-thumbnail

XSS는 사용자가 특정 웹사이트를 신용하는 점을 노린 것이고,
CSRF는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다.

XSS(Cross-Site Scripting)

웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점으로 발생되는 공격이다.

  • 개요 : 악성 스크립트가 클라이언트가 실행됨
  • 공격 대상 : 클라이언트
  • 목적 : 쿠키・세션 갈취, 웹사이트 변조 등

방지 대책

  1. 쿠키에 중요한 정보를 담지 않고 서버에 중요 정보를 저장한다.
  2. 정보를 암호화한다.
  3. HttpOnly 속성을 활성화한다.
    (자바스크립트의 document.cookie를 이용해서 쿠키에 접속하는 것을 막는 옵션으로, 쿠키를 훔쳐가는 행위를 막기 위한 방법)
  4. Secure coding

CSRF

사용자가 자신의 의지와는 무관하게 특정 행위를 특정 웹사이트에 요청하게 하는 공격이다.

  • 개요 : 권한을 도용 당한 클라이언트가 가짜 요청을 서버에 전송
  • 공격 대상 : 서버
  • 목적 : 권한 도용

방지 대책

  1. Referrer 검증
    (서버 단에서 요청의 referrer를 확인하여 도메인이 일치하는지 검증하는 방법)
  2. Security Token 사용
    (사용자 세션에 임의의 난수 값을 저장하고 사용자의 요청마다 해당 난수 값을 포함시켜 전송한다.
    이후 서버 단에서 요청을 받을 때마다 세션에 저장된 토큰 값과 요청 파라미터에 전달되는 토큰 값이 일치하는지 검증하는 방법)

0개의 댓글