XSS
2020. 4. 7. 21:24ㆍ보안\암호화
반응형
1. XSS란
XSS란 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼에 악의적인 스크립트를 삽입합니다. 그리고 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하는 취약점입니다. 공격자는 취약점을 이용해 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등의 공격을 수행합니다. 일반적으로 자바 스크립트를 사용하여 공격하는 경우가 많습니다.
2. XSS 공격 종류
Stored XSS
공격자가 취약한 웹 서버에 악성 스크립트를 저장하면 희생자가 해당 자료를 요청할 때, 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작하는 방식입니다.
Reflected XSS
외부에 있는 악성 스크립트가 희생자 액션에 의해 취약한 웹 서버로 전달되고, 웹 서버의 응답페이지에 해당 악성 스크립트가 삽입되어 희생자 측에서 동작하는 방식입니다.
DOM based XSS
희생자의 웹 브라우저에서 응답 페이지에 포함된 정상적인 스크립트가 동작하면서 DOM 객체를 실행할 때, URL 등에 포함된 악성 스크립트가 동작하는 방식입니다. 응답 페이지에 관계없이 웹 브라우저에서 발생합니다.
3. 대응 방안
- 사용자 입력값 검증을 반드시 서버에서 합니다.
- 사용자 입력 문자열에서 HTML 코드로 인식될 수 있는 특수문자를 일반문자로 치환하여 처리합니다.
- HTML 태그 화이트리스트를 선정 후, 해당 태그만 허용하는 방식을 적용합니다.
반응형