Cross-Site Scripting(XSS) 취약점이란?
- 관리자가 아닌 이가 신뢰할 수 있는 웹 사이트에 클라이언트 측에서 실행될 수 있는 악성 스크립트를 삽입할 수 있는 취약점
- 일반 사용자가 악성 스크립트가 저장된 웹 페이지에 접근할 경우 해당 사용자의 권한으로 저장된 악성 스크립트가 수행되어 정보 유출 등 공격이 수행된다.
- 공격 방식에 따라 아래와 같이 분류
- Reflected XSS
- URL에 악성 스크립트를 포함하여 배포하는 방식
- Stored XSS
- 게시판 등에 악성 스크립트가 포함된 글을 작성하여 게시글을 확인하는 사람을 대상으로 공격하는 방식
- DOM based XSS
- 피해자의 브라우저에서 DOM 환경을 수정하는 방식의 공격
- Reflected XSS
Cross-Site Scripting(XSS) 대응 방안
- 웹 서버에서 입력 값에 정의된 문자 길이를 제한 또는 검증하여 클라이언트 측에서 실행될 수 있는 스크립트 명령이 삽입되지 않도록 설정
- HTML 태그의 사용이 불필요한 경우 사용자의 입력 값에서 HTML 특수 문자들을 HTML Entity로 변환하여 스크립트를 일반 문자열로 인식되도록 한다.
- 부득이하게 HTML 태그를 반드시 사용해야할 경우에는 블랙리스트 또는 화이트리스트 방식을 이용해 반드시 사용해야만 하는 특정 태그만 사용할 수 있도록 설정
- 웹 방화벽(WAF, Web Application Firewall)를 사용하여 비정상적인 데이터가 전송될 경우 차단
'CERT > 웹 취약점' 카테고리의 다른 글
[웹 취약점]권한인증 취약점의 정의 및 대응 방안 (0) | 2023.05.06 |
---|---|
[웹 취약점]SQL Injection 취약점의 정의 및 대응 방안 (0) | 2023.05.06 |
웹 쉘(Web Shell)의 정의 및 피해 사례 및 실습 (0) | 2023.04.29 |
[웹 취약점]공개용 웹 게시판 취약점의 정의 및 대응 방안 (0) | 2023.04.15 |
[웹 취약점]소스코드 내 중요 정보 노출 취약점의 정의 및 대응 방안 (0) | 2023.04.15 |