Stored XSS vs Reflected XSS vs DOM based XSS

황인환·2024년 7월 2일
Stored XSSreflected XSSDOM based XSS
동작방식             서버에 저장된 스크립트에 접근했을 때스크립트가 포함된 URL을 클릭한 후 서버가 반응(반사)할때받은 스크립트가 DOM을 변경할때
발생위치서버서버클라이언트
특징서버에 스크립트가 저장됨으로 지속성이 있음& 광범위함서버응답에 포함된 스크립트 실행&즉시실행서버응답과 무관
댓글, 게시판스크립트가 포함된 URL스크립트가 포함된 URL

Stored XSS

  • 내가 원하는 스크립트를 서버에 저장하고 클라이언트가 접근하면 스크립트 실행
  • 스크립트의 저장으로 인해 지속성이 생겨나고 피해범위가 커진다.

Reflected XSS

  • 내가 원하는 스크립트를 GET방식으로 클라이언트에게 전달후 클라이언트가 해당 URL을 접속하면 내가 전달한 스크립트를 서버에 전송한 후 서버응답(반사)로 인해 클라이언트에서 스크립트 실행
  • GET방식으로만 실행
  • 반사로 발생하기때문에 URL클릭한후 바로실행

DomBased XSS

  • Reflected와 달리 브라우저에서 DOM을 변경시켜 발생 포인트는 서버에서 응답받을때가 아니라 브라우저에서 스크립트를 처리할때 발생
  • 서버의 응답과는 무관함
  • #같은 fragment뒤에 스크립트를 삽입하기도함
    URL에는 #뒤가 남아있지만 서버에는 전달x

0개의 댓글