XSS(Cross-site 스크립팅) 공격이란 ?

GonnabeAlright·2021년 11월 28일
0
post-thumbnail
post-custom-banner

개념

  • Cross-site 스크립팅 공격, 사이트 간 스크립팅 공격
  • 사용자가 입력한 정보를 출력할 때 스크립트가 실행되도록 하는 공격기법
  • 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다.
  • 이 취약점은 웹 애플리케이션 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다.
  • 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 할 수 있다.
    누군가가 중간에서 사용자의 세션 아이디를 훔친다면 그 사용자처럼 로그인할 수 있게 된다.

방어 방법

  • htmlspecialchars 사용

    이 함수는 html 코드를 해석하지 않고 화면에 그대로 출력하도록 변환

  • 쿠키는 XSS 공격과 CSRF 공격등에 취약하기 때문에 쿠키 속성 HttpOnly 옵션을 활성화한다.
    • HttpOnly: true를 주면 자바스크립트를 통해서 쿠키 값에 접근할 수 없다.
    • XSS 공격 방지
  • 세션 옵션 Secure을 활성화
    • HTTPS에서만 쿠키가 전송된다. (즉, HTTPS에서만 세션 정보를 주고 받을 수 있다.)
    • XSS 공격 방지
  • 쿠키를 사용하는 요청은 서버 단에서 검증하는 로직을 꼭 마련해두는 것이 좋다.
  • HTTPS를 이용해서 통신하는 것이 좋다.
post-custom-banner

0개의 댓글