XSS(Cross-Site Scripting)는 악의적인 스크립트를 웹 페이지에 삽입하여 다른 사용자의 브라우저에서 실행시키는 공격입니다. SQL Injection과 함께 OWASP Top 10의 단골 취약점이며, 웹 서버 로그에서 공격 시도를 조기에 탐지할 수 있습니다.
공격자는 URL 파라미터, 검색어, 댓글 입력란 등에 HTML/JavaScript 코드를 삽입합니다.
URL에 직접 스크립트를 포함:
`` GET /search?q= GET /page?name=` GET /user?id=">
` GET /search?q=%3Cscript%3Ealert%281%29%3C%2Fscript%3E GET /page?url=javascript:alert(document.domain) GET /redirect?url=%2F%2Fevil.com%2Fxss.js `
%3C = <, %3E = >, %2F = /
| 패턴 | 설명 |
|---|---|
| ------ | ------ |
| 스크립트 태그 삽입 |
| 이미지 로드 실패 이벤트 악용 | |
| 외부 프레임 삽입 | |
javascript: | JavaScript 프로토콜 악용 |
onerror=, onload=, onclick= | 이벤트 핸들러 삽입 |
eval(, document.cookie | 악의적 JavaScript 함수 |
| SVG 태그 이벤트 악용 | |
| body 태그 이벤트 |