본문 바로가기

보안/시큐어코딩

[HTML5 시큐어코딩] CORS를 이용한 개인정보 탈취

[작성중.... ]


CORS(Cross Orign Resource Sharing)


웹페이지상에서 자바스크립트를 이용하여 XHR(XMLHttpRequest)을 다른 도메인으로 발생시킬 수 있도록 해 주는 기능이다. 즉 XHR 기반 Cross Origin 요청을 이용하여 자원을 공유해야 하는 브라우저와 서버 사이의 대화방법을 정의한다.




     [그림1] CORS 동작방식  [출처: Intenet& Security Focus 2013 12월호]



CORS 관련보안위협?


CORSXHR을 다른 도메인으로 발생시킬때 사용자에게 허가 요청을 하지 않는다. 이것은 사용자 세션을 도용한 접근제어와 관련된 보안문제를 발생시킬 수 있다.


CORS 관련 보안 위협은 다음과 같이 분류할 수 있다.


1. 접근제어 우회:  사용자가 속해 있는 내부 네트워크에 존재하는 웹사이트가 Access-Control-Allow-Orign 응답 헤더를 잘못 정의했을 경우 공격자는 외부에서 직접 접근할 수 없는 내부 네트워크의 웹사이트에 접속할 수 있다.


2. CORS와 WebSocket을 이용한 원격쉘: XHR 과 Web Socket 기술을 이용하면 사용자의 브라우저 세션을 탈취하고 행동을 제어할 수 있다.


3. CORS와 WebSocket을 이용한 웹기반: CORS와 Web Socket 기술을 이용하며 사용자의 브라우저들을 제어하여 다양한 정보를 수집하거나 명령을 내릴 수 있다.


4. CORS와 WebSocket을 이용한 DDoS 공격: CORS와 Web Worker를 이용하면 보다 효고적으로 DDoS 공격을 수행 할 수 있다.