반응형

토픽 스터디 / 정보보안 / XSS(Cross Site Scripting) 취약점 - 해킹

 

키워드 : XSS, 취약점, OWASP, CSRF, 자바스크립트, 쿠키

XSS(Cross Site Scripting) 취약점 개념

악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법입니다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 의도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취합니다. 

 

 

XSS(Cross Site Scripting) 공격 종류

1)반사형 XSS(지속적이지 않음)

공격자가 HTTP 요청에 악성 콘텐츠를 주입하면 그 결과가 사용자에게 "반사되는" 형태입니다. 물론 공격자가 자기 자신을 악용하고자 할 가능성은 별로 없지만 링크를 클릭하도록 피해자를 속이고 유인해 세션을 하이재킹할 수 있습니다.

출처 : 안랩

 

2)저장형 XSS(stored XSS, 지속형)

공격자가 웹 애플리케이션을 속여 웹 애플리케이션 데이터베이스에 악성코드를 저장하도록 하는 수법입니다. 서버에 저장된 악성 코드는 시스템 자체를 공격할 수 있고 웹 앱 사용자 상당수, 또는 전체에 악성 코드를 전송할 수도 있습니다.

출처 : 안랩

 

3)문서 객체 모델(document object model, DOM) 기반 XSS

웹 애플리케이션 서버 측이 아닌 클라이언트 측 코드를 공격하며 그 대상은 자바스크립트인 경우가 많고 피해자의 브라우저에서 악성코드를 실행합니다. 

출처 : 안랩

XSS(Cross Site Scripting) 공격 피해

1) 쿠키 정보/세션 ID 획득
웹 애플리케이션이 세션 ID를 쿠키에 포함하는 경우 XSS 공격을 통해, 클라이언트의 합법적인 세션 ID를 획득하여 불법적으로 정상 사용자로 가장할 수 있습니다.

2) 시스템 관리자 권한 획득
XSS 취약점을 이용하여 사용자 브라우저 취약점을 공격하여 PC를 완전히 통제할 수도 있습니다. 공격자는 XSS 취약점 있는 웹 서버에 다양한 악성 데이터를 포함시켜 놓은 후, 사용자의 브라우저가 악성 데이터를 실행하는 경우 자신의 브라우저 있는 제로데이 취약점 또는 패치되지 않은 취약점을 공격하는 공격 코드가 실행되면서 사용자 시스템을 완전히 통제할 수 있습니다. 

3) 악성코드 다운로드
XSS 공격은 사용자가 악성 스크립트가 있는 URL을 클릭하도록 유도하여 악성 프로그램을 다운로드 받는 사이트로 리다이렉트(redirect) 하거나, 트로이목마 프로그램을 다운로드하여 설치할 수 있습니다. 

 

XSS와 CSRF의 차이점

XSS 공격과 CSRF(Cross-site request forgery)는 피해자의 브라우저를 목표로 하는 비슷한 공격입니다. 가장 큰 차이점은 CSRF는 사용자의 인증된 세션을 악용하며(예를 들어, 은행 계좌 로그인), XSS는 인증된 세션이 없어도 공격 효과를 거둘 수 있다는 점입니다.

 

XSS(Cross Site Scripting) 취약점 예방

1)입출력 값 검증
사용자가 입력한 값에 대한 검증과 사용자가 입력한 값을 그대로 출력할 때 검증이 필요합니다. XSS Cheat Sheet 에 대한 필터 목록을 만들어 모든 Cheat Sheet에 대한 대응이 가능하도록 하여야 합니다. 

2) XSS 방어 라이브러리 , 브라우저 확장앱 사용
XSS를 막아주는 Anti XSS 라이브러리를 여러 회사에서 제공하는데 이 라이브러리를 사용하면 손쉽게 XSS를 방어할 수 있습니다. XSS 라이브러리를 사용하는 것은 서버 단에서 개발자가 추가하는 것이고, 사용자들이 각자 본인의 브라우저에서 악의적인 스크립트가 실행되지 않도록 방어하는 것이 중요합니다. 

 

3)웹 방화벽 사용
웹 방화벽은 웹 공격에 특화되어있기 때문에 XSS 공격을 방어하기 위함만이 아니라 각종 Injection 공격을 효과적으로 방어할 수 있습니다.

 

 

참고 문헌

나무위키 XSS

XSS(Cross-Site Scripting) 이란?

"공격자와 방어자 모두가 따기 쉬운 열매"…XSS 공격의 이해

KISA Report : 크로스사이트스크립팅(XSS) 공격종류 및 대응방법

반응형

+ Recent posts