W6_H1_XSS 공격 정리

·2023년 5월 23일
0

노말틱 취업스터디

목록 보기
15/16
post-thumbnail

💻 XSS(Cross-Site Scripting) attack

악의적인 목적을 가진 공격가 웹 사이트에 스크립트를 삽입하는 공격

취약점 ❗ : 사용자가의 입력값이 웹 브라우저에서 별다른 필터링 없이 실행되기 때문!

예상 피해 : 사용자의 세션 및 정보 탈취, 웹 사이트의 변조, 피싱 공격 진행 등

  • 게시판에서 주로 사용되는 공격이지만, 사용자의 입력 값을 웹페이지에 표시하는 곳(블로그) 등에서도 공격이 발생할 수 있음
  • 공격자가 C&C 서버로 리디렉션하기 위한 중간 경유지로 활용될 수 있으며, 세션 하이제킹 공격 수행도 가능

XSS의 공격방식

  • Cookie Sniffing
  • 스크립트 암호화 및 우회
  • 악성 스크립트 유포
  • Key Logger
  • Mouse Sniffer
  • 거짓 정보 추가
  • etc

XSS의 유형

  • Reflected XSS
  • Stored XSS
  • DOM Based XSS

Reflected XSS

  • 삽입된 악성 스크립트를 피해자가 클릭 시 실행 됨
  • 1회성 공격
  • 피해자가 직접 스크립트를 실행하도록 유도
  • 링크 클릭 시 사용자의 쿠키 값이 해커에게 전송
  • 피해자가 웹 사이트에 입력한 모든 정보의 노출

Stored XSS

  • 저장성 XSS 공격
  • 공격자가 삽입한 스크립트가 DB에 저장되어 악성 스크립트가 존재하는 게시글 등을 열람한 사용자는 쿠키 값이 탈취되거나 다른 사이트로 리디렉션되는 공격을 받음
  • 사용자가 웹 사이트에 접속 시 실행
  • 응용 프로그램 또는 웹 사이트의 모든 HTTP 응답을 감염시킴
  • Reflected XSS와는 달리 지속적 공격 유형

DOM Based XSS

DOM이란?
Document Object Model의 약자로, 웹 페이지를 여는 즉시 생성되는 문서 객체 모델이다. DOM은 웹페이지의 컨텐츠와 구조, 스타일 요소를 구조화시켜 프로그래밍 언어가 해당 문서에 접근하여 읽고 조작하기 쉽도록 하게 만들어주는 API를 제공한다.

  • HTML에 악성코드가 드러나는 Reflected XSS와 Stored XSS와는 달리, 웹 사이트의 코드를 조사하지 않고는 악성 코드를 발견할 수 없다.
  • 악성 스크립트가 삽입된 웹 페이지에 사용자 방문 시, 사용자는 서버로부터 HTML 문서를 전달받고 사용자의 브라우저는 응답받은 HTML 문서를 읽으며 악성 스크립트가 실행된다. 이 악성스크립트를 통해 사용자의 정보는 공격자에게 전달되게 된다.
  • HTML 문서를 서버로부터 한 번만 받으면, 이 후에는 서버에게 요청할 필요없이 악성 스크립트 삽입이 가능하다.

XSS 예방

  • URL을 확인하는 습관
  • XSS에 대한 필터 목록 생성, 필터링 적용
  • NordVPN의 바이러스 및 위협 방지 기능 사용 ( 악성 웹사이트 블랙리스트 갱신 )
  • htmlentities 함수 사용, 특수 문자를 엔티티로 변환

-> 대부분의 브라우저에는 Reflected XSS를 탐지하고 차단하는 보안 기능이 내장되어 있음

🤍 참고자료

profile
화이트해커 꿈나무 엘입니다😉

0개의 댓글