XSS 공격
: 웹 애플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 때 발생
공격자가 입력 가능한 폼(웹 브라우저 주소 입력 또는 게시판 등)에 악의적인 스크립트를 삽입해 사용자 세션 도용, 악성코드 유포 가능한 취약점
- 사용자 인수 값을 받는 웹 사이트 게시판, url 등에 악의적 스크립트를 삽입해 게시글이나 이메일을 읽는 사용자의 쿠키(세션)를 도용 또는 악성코드(url redirect) 유포 가능
- 공격방식
1. Stored: 포럼의 게시판, 방명록, 댓글과 같은 사용자의 입력 지점을 통해 서버측 데이터베이스에 저장된 데이터가 사용자 웹 브라우저에 그대로 전달되는지 확인
2. Reflected: 사용자가 입력한 데이터를 사용자의 웹 브라우저에 그대로 반환하는지 확인
- XSS 취약점 점검 방법
1. 사용자 인수 값 입력 받는 애플리케이션(회원정보 변경, 게시판, 댓글, 자료실 등)에 스크립트 입력 후 실행되는지 확인
2. 사용자 인수 값 입력 받는 애플리케이션 검색이나 url 부분에 스크립트 입력 후 실행되는지 확인
- XSS 보안 설정 방법
1. 게시물에 HTML이나 자바 스크립트에 해당되는 태그 사용을 사전에 제한, 사용자가 입력한 인수 값에 대한 필터링 작업 필요
2. 게시물 본문 외에도 제목, 댓글, 그 외 사용자 측에서 가져오는 값을 신뢰하는 모든 폼과 인수 값에 대해 필터링
3. 입력 값에 대한 필터링 로직 구현 시 공백 문자 제거하는 trim, replace 함수를 사용해 반드시 서버 측에서 구현
4. URLDecoder 클래스에 존재하는 decode 메서드 통해 URL 인코딩이 적용된 사용자 입력값을 디코딩함으로써 우회 공격 차단
5. 웹 방화벽에 모든 사용자 입력 폼을 대상으로 특수문자, 특수 구문 필터링하도록 룰셋 적용
- XSS 공격 취약점
: 사용자 입력 폼 또는 url 검색 폼에 <script>alert()</script> 입력해 팝업창 발생하면 취약
'Network Security > 네트워크 보안 운영(step)' 카테고리의 다른 글
| 악성파일 업로드 공격 (0) | 2024.11.16 |
|---|---|
| SQL Injection 공격 (3) | 2024.11.13 |
| 네트워크 보안 솔루션 ModSecurity (2) | 2024.11.12 |