XSS(Cross Site Scripting)
Client Side 취약점 중 하나로 웹 리소스에 스크립트를 삽입함으로써 사용자의 웹 브라우저에서 세션 탈취와 같은 악의적인 행위를 실행하는 기법이다.
Q. 왜 발생하는걸까?
> HTML에는 다양한 기능을 수행하기 위해 여러 태그가 존재한다. 이 중
Q. 어떻게 막아야할까?
> SOP(Same Origin Policy)와 같은 보안정책이 등장하였지만 이를 우회하는 기술이 소개되고 있는 추세이다. 때문에 적절한 필터링과 보완된 라이브러리를 사용해야 한다.
> 3 Type of XSS: 종류별로 알아보자
- Stored XSS
- Reflected XSS
- DOM-based XSS
> XSS Filtering Bypass: 만만한 필터링을 뚫어보자
이벤트 핸들러 onload : 요청 데이터 로드 성공 시 실행
onerror : 요청 데이터 로드 실패 시 실행
onfocus : 포커스 발생 시 실행
ex)<img src=0 onerror="alert(1);">
활성 하이퍼링크 “javascript: “ URL 로드 시 자바스크립트 코드 실행
ex)
<a href="javascript:alert(document.domain)">Click me!</a>