XSS란 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우에 공격자가 입력이 가능한 폼에 악의적인 스크립트를 삽입하여 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하는 취약점이다.
공격자는 취약점을 이용하여 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등의 공격을 수행한다.
XSS 공격 종류
* 공격자가 취약한 웹서버에 악성 스크립트를 저장하면 희생자가 해당 자료를 요청할 때 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작하는 방식이다.
ex) XSS 공격 예시
// 1. 스크립트 태그
<script>alert("XSS 공격!");</script>
<script> location.href = "https://www.naver.com/;</script>
// 2. 자바스크립트 태그
<a href="javascript:alert('XSS 공격!')">XSS</a>
// 3. 이벤트 속성
<img src="#" onerror="alert('XSS')">
// 4. 내용 난독화
<a href="javas
cript
:
alert
('XSS')">XSS</a>
// 5. 등등
쿠키/세션ID 정보 탈취