XSS는 크로스 사이트 스크립팅으로, 웹 보안 취약점 중 하나이다.
악의적인 사용자가 웹 애플리케이션의 다른 사용자에게 스크립트 코드를 삽입하는 공격 형태이다.
이 스크립트 코드는 사용자의 브라우저에서 실행되며, 공격자는 해당 코드를 통해 다양한 악의적인 작업을 수행할 수 있다.
XSS의 형태
1. Stored XSS : 공격자는 웹 애플리케이션에 악의적인 스크립트 코드를 저장하고, 이 스크립트 코드가 다른 사용자에게 표시되도록 한다. (ex. 악의적인 스크립트가 게시판 게시문, 댓글, 사용자 프로필, 또는 기타 공용 컨텐츠에 삽입될 수 있다.)
2. Reflected XSS : 공격자는 악의적인 링크나 URL을 생성하여 다른 사용자에세 전송하고, 피해자가 해당 링크를 클릭하면 스크립트 코드가 실행된다. 이 스크립트 코드는 주로 검색 결과, 검색어, 또는 사용자 입력 필드에 나타난다.
3. DOM-based XSS : 웹 애플리케이션의 클라이언트 측 자바스크립트 코드를 악용한다. 공격자는 웹 페이지의 DOM을 조작하여 악의적인 스크립트를 실행시킨다.
XSS 공격 기법
1. 스크립트 태그
스크립트 태그로 자바스크립트를 실행
<script>alert('XSS');</script>
2. 자바스크립트 링크
링크 태그로 자바스크립트 실행
<a href="javascript:alert('XSS')">XSS</a>
3. 이벤트 속성
자바스크립트의 이벤트 핸들러인 onclick, onmouseover, onerror 등을 악용하여 공격자가 스크립트 실행
<img src="3" onerror="alert('XSS')">
이미지 태그를 사용함
이미지 경로가 잘못되어 오류가 발생하면 경고창을 띄운다.
[참고자료]
https://lgana1021.tistory.com/22
XSS 공격 개념 정리
- XSS(Cross-site Scripting)는 웹 상에서 가장 기초적인 공격 방법으로, 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. - 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되
lgana1021.tistory.com