클라이언트 사이드 취약점 = 웹페이지 이용자를 대상으로 공격이 가능
공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행함으로써,
특정 계정의 세션 정보를 탈취해 임의로 기능들을 수행할 수 있다.
앞선 SOP 보안 정책의 등장 이후로 서로 다른 오리진에서는 정보를 읽기 힘들어 졌지만, 이를 우회하는 다양한 기술이 나오게 되면서 XSS공격은 지속되고 있다는 것,
js = 웹 문서의 동작을 정의(이용자와의 상호작용 : ex) 클릭 이벤트, 데이터 입력/전송 이벤트)
but, 이용자와의 상호작용 없이 이용자의 권한을 통해 정보를 조회, 변경이 가능하다.
(이용자를 식별하기 위한 세션 및 쿠키가 웹 브라우저에 저장되어 있기 때문!)
즉, 다양한 동작 정의가 가능해 XSS 공격에 주로 사용된다.
서버의 DB 또는 파일 등의 형태로 저장된 악성 스크립트를 조회시 발생한다.
대표적 예) 게시물, 댓글에 악성 스크립트를 포함해 업로드하는 방식이 있음
불특정 다수에게 보여지기 때문에 높은 파급력을 지님
url 등 이용자의 요청에 의해 발생하므로, 이용자를 악성 스크립트가 포함된 링크로 접속하도록 유도되어야 함
링크를 직접 전달하는 방법은 이용자가 눈치챌 수 있으므로, 주로 Click Jacking, Open Redirect 등 다른 취약점과 연계해 사용한다.