본문 바로가기

Wargame/Dreamhack_Web

[드림핵 웹 해킹] STAGE 3: SAME ORIGIN POLICY

이용자가 악의적인 페이지에 접속하고, 악의적인 페이지에서 자바스크립트를 사용해 이용자의 sns웹 서비스로 요청을 보낸다고 하자. 그래서 로그인 된 이용자의 sns 응답을 받으면 이용자의 권한을 탈취할 수 있다. 이를 방지하기 위해 same origin policy라는 보안 메커니즘이 탄생했다.

브라우저는 웹 리소스를 통해 간접적으로 타 사이트에 접근할 때도 인증 정보인 쿠키를 함께 전송하는 특징을 가지고 있다. SOP는 이런 경우에 http응답을 받은 악의적인 페이지가 읽을 수 없도록 해야한다.

Origin: protocol, port,host로 구성된다

세가지가 다 같아야 same origin이고 하나라도 다르면 cross orgin이라고 한다

그래서 cross orgin이면 응답을 읽을 수 없도록 설정할 수 있는데 만약 올바른 오리진이 여러개라면 검증을 통해 수신측의 응답과 발신측의 요청이 상응하는지 확인한 다음 post요청을 보낸다.

아니면 SOP가 적용되지 않는 이미지, 자바스크립트, css 등의 리소스를 통해 실현할 수도 있다.