크로스 사이트 스크립트(XSS:Cross Site Script) 취약점

2023. 3. 7. 13:01·자격증/정보보안기사
728x90
반응형
  • 웹 어플리케이션에서 사용자 입력값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능함 폼(웹 브라우저 URL 또는 게시판 등)에 악의전인 스크립트를 삽입, 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하게 하는 취약점
  • 공격자는 취약점을 이용하여 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등의 공격을 수행
  • 크게 3가지 유형으로 구분 Stored XSS(저장형 XSS), Reflected XSS(반사형 XSS), DOM based XSS(DOM 기반 XSS)

 


Stored XXS

  • 공격자가 취약한 웹서버에 악성 스크립트를 저장해 놓으면 희생자가 해당 자료를 요청할 때 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작
  • 악성 스크립트가 취약한 웹서버의 DB에 저장되는 형태

Reflected XSS

  • 외부에 있는 악성 스크립트가(외부 사이트 또는 이메일 등에 포함된 링크) 희생자 액션에 의해 취약한 웹서버로 전달되고, 웹서버의 응답페이지에 해당 악성 스크립트가 삽입되어(DB에 저장되는 것이 아님) 희생자 측에서 동작
  • 희생자 액션이란 공격자에 의해 조작된 사이트에 접근 시 그 서버에서 악성 스크립트를 포함하여 리다이렉트되는 경우나 악성 스크립트가 포홤된 링크를 가지고 있는 이메일을 받은 후 이를 클릭하여 취약한 웹서버로 요청 정보를 보내는 행위
  • Stored XSS는 악성 스크립트가 취약한 웹서버의 DB에 저장 되어 있는 형태이나, Reflected XSS는 DB에 저장되어 있는 것이 아닌 악성 스크립트가 포함된 요청 정보를 처리하는 과정에서 악성 스크립트가 포함된 응답 페이지가 생성되어 희생자에 전달하는 방식

DOM based XX

  • DOM(Document Object Model)은 문서 객체 모델로 웹페이지(HTML/XML)내에 있는 모든 객체들을 조작, 관리할 수 있는 계층 구조 형태의 모델. DOM을 통해 HTML 문서를 계층적으로 보면서 컨텐츠를 동적으로 변경 가능
  • 희생자의 웹 브라우저에서 응답 페이지에 포함된 자바 스크립트(정상적 스크립트)가 동작하면서 DOM 객체를 실행할 때 URL 등에 포함된 악성 스크립트가 동작
  • 저장형 및 반사형 XSS의 경우 응답 페이지에 악성 스크립트가 포함되어 웹 브라우저로 실행되는 반면, DOM 기반의 XSS는 응답 페이지와 관계없이 웹 브라우저에서 발생하는 차이점을 가짐

대응 방안

  • 사용자 입력값에 대한 검증을 반드시 "서버" 단에서 진행
    • 클라이언트 단에서 수행 시 웹 프록시 등에 의해 데이터 조작이 가능.
    • 대표적인 툴로 Paros, Burp 등이 있음
  • 사용자 입력 문자열에서 HTML 코드로 인식될 수 있는 특수문자를 일반문자(HTML Entity)로 치환하여 처리(이스케이프 처리)
HTML 특수 문자 HTML Entity 의미
< , > &lt; , &gt; HTML 태그 기호
& &amp; HTML Entity 표현기호
" , '  &quot; , &#039; 속성값을 표혀
728x90
반응형

'자격증 > 정보보안기사' 카테고리의 다른 글

웹 어플리케이션 취약점 - SQL Injection  (0) 2023.03.02
ARP 프로토콜(취약점/대응방법)  (0) 2022.04.20
시스템 보안(기본) - UNIX/Linux  (0) 2021.04.28
시스템 보안(기본) - 윈도우  (0) 2021.04.27
'자격증/정보보안기사' 카테고리의 다른 글
  • 웹 어플리케이션 취약점 - SQL Injection
  • ARP 프로토콜(취약점/대응방법)
  • 시스템 보안(기본) - UNIX/Linux
  • 시스템 보안(기본) - 윈도우
Royal!
Royal!
Bachelor of Arts. Bachelor of Science in Engineering. Master of Science in Engineering (In Progress). Job Title: Infrastructure & Security & Cloud Engineer. Etc: Mentor at Fourth Industrial Revolution Center.
  • Royal!
    Security
    Royal!
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 운영체제
      • 네트워크
      • 클라우드
      • 서버
      • Container
      • 프로그래밍
        • Python_혼자 끄적끄적
        • Python_AI(영상처리)
        • 빅데이터
        • C_정보올림피아드 Language_Coder
        • C_QnA
      • 자격증
        • 정보보안기사
        • 정보처리기사
        • ADsP
        • CPPG
        • 보안법률
        • NCA~NCP
        • AWS Certified Solutions Arc..
      • 리버싱
        • 리버싱 걸음마
      • Wargame & CTF
        • Hackerschool FTZ
      • 기타 교육
        • KISA 정보보호제품실습군
        • 빅데이터_분석실무
        • 시큐어코딩진단전문교육(호남정보보호센터)
        • SW테스트 전문가 과정(ISTQB CTFL자격)
        • 정보보호 컨설팅 전문가 양성과정
      • 기타
        • 면접일지
        • 기타
        • 인턴활동
        • 논문 요약
      • K-Shield Jr
        • 악성코드분석
        • 침해사고분석
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    restful api 개념
    l2 스위치 프레임 전달 방식
    getuid()
    rest api 제약조건
    switch forwarding mode
    304 code
    kernel 구성요소
    fragment-free
    rest api 정리
    304코드
    rest api 문법
    rest api 아키텍처
    nce dump
    euid란
    getuid
    스위치 프레임 동작 방식
    euid가 중요한 이유
    rest api 논문
    swtich frame
    redirect 304
    geteuid()
    nce덤프
    스위치 프레임 포워딩 방식
    kernel 사용자 모드
    상태코드 304
    kernel모드
    uid란
    rest api 공부
    네이버클라우드 ftp 설정
    geteuid
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Royal!
크로스 사이트 스크립트(XSS:Cross Site Script) 취약점
상단으로

티스토리툴바