1. XSS
: Cross Site Script
: 악의적인 사용자가 사이트에 스크립트를 집어넣어 의도치 않는 행동을 수행 / 쿠키정보, 세션 등 민감정보를 탈취하는 공격
2. 취약점 발생 이유?
: 사용자의 입력값이 페이지 내부에 존재 & HTML tag 형태
=> 파싱 과정: 사용자의 입력값까지 HTML로 인식하여 생기는 취약점
3. 공격 방법
-1. Stored XSS
: 게시글에 악성 스크립트를 삽입 후 서버에 업로드
=> 희생자가 게시글을 클릭
=> 문자열로 저장된 악성 스크립트가 희생자의 브라우저에서 실행 가능한 스크립트로 변환되면서 실행
-2. Reflected XSS
: HTTP GET 방식을 이용 => 웹 어플리케이션의 지정된 변수를 사용하여 공격
: 스크립트 삽입 시 동작이 되는지 파악
=> <script>alert(document.cookie)</script> 스크립트를 URL 자체에 삽입
=> 링크에 접속하는 순간 XSS 공격이 일어남
4. 방어 방법
: 사용자에게 전달받은 파라미터(입력값)에 대해 적절한 필터링
-1. 화이트 리스트
-2. 라이브러리 사용
-3. HTML entity 치환
: 특수문자를 HTML entity로 변환
=> 렌더링 과정에서 <,>,(,) 등을 HTML tag로 인식하지 못하게 함
'HACKING > WEB' 카테고리의 다른 글
[OWASP] 2. Broken Authentication (0) | 2021.09.28 |
---|---|
[OWASP] 1. INJECTION (0) | 2021.09.16 |
[1. 입력 데이터 검증 및 표현] 5. Path Traversal (0) | 2021.08.03 |
[1. 입력 데이터 검증 및 표현] 4. OS Command Injection (0) | 2021.08.03 |
[1. 입력 데이터 검증 및 표현] 2.File Upload (0) | 2021.07.31 |