XSS 대응방안

zion·2023년 10월 15일
0

프론트엔드

목록 보기
3/8

XSS(크로스 사이트 스크립팅)

  • 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점
  • 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태

1) XSS 유형

Reflected XSS

  • HTTP 쿼리 매개 변수 (예 : HTML 양식 제출)에서 적절하지 않고, 구문 분석 및 해당 사용자에 대한 결과의 페이지를 표시
  • URL 파라미터나 HTTP 요청 헤더 정보를 수정하여 공격

Stored XSS

  • 공격자가 제공 한 데이터가 서버에 저장 된 다음 지속적으로 서비스를 제공하는 정상 페이지에서 다른 사용자에게 노출
  • HTML 형식의 메시지를 게시 할 수 있는 온라인 게시판

2) XSS 공격구문

<script>alert(document.cookie)</script>
<a href="javascript:alert('XSS')">XSS</a>
<img src="#" onerror="alert('XSS')">
<ruby oncopy="alert('XSS')">XSS</ruby>

3) XSS 대응방안

  • 입력값, 출력값 필터링
  • replace를 이용한 치환시, "" 보다 " "(스페이스)로 변경한다.
  • html 태그를 html entity로 변경하여 실행되지 않도록 한다.
    ex) < lt; >gt;
  • html 태그가 필요한 경우, whitelist, blacklist, 라이브러리 사용
  • 라이브러리 : OWASP Antisamy, NAVER Lucy XSS Filter

출처: https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B4%ED%8A%B8_%EA%B0%84_%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8C%85
https://namu.wiki/w/XSS

profile
be_zion

0개의 댓글