Stored XSS

개요


Stored XSS는 공격자가 삽입한 악성 스크립트가 서버의 데이터베이스나 저장소에 저장된 후, 다른 사용자가 해당 자원을 요청할 때 응답 페이지에 포함되어 브라우저에서 실행되는 취약점이다.


취약점 발생 지점


사용자의 입력 값이 검증 없이 서버의 저장소에 저장되고, 해당 값이 다시 응답에 포함될 때 적절한 인코딩 없이 출력되면 브라우저에서 악성 스크립트가 실행된다.


공격 동작 순서


  1. 공격자는 게시글, 댓글 등 사용자 입력 가능 영역에 악성 스크립트를 삽입한다.
  2. 사용자 입력 값을 검증 없이 서버 저장소에 그대로 저장된다.
  3. 피해자가 게시글이나 댓글 페이지 등 해당 자원을 요청한다.
  4. 웹 애플리케이션은 저장된 데이터를 불러와 HTML 페이지로 구성하면서, 악성 스크립트를 그대로 응답에 포함시킨다.
  5. 피해자의 브라우저는 서버의 응답을 받아 웹 페이지를 렌더링한다.
  6. 브라우저가 스크립트를 실행하면서 피해가 발생한다.

Published by