1. Same Origin Policy (SOP)
이용자가 웹 서비스에 접속할 때, 브라우저는 해당 웹 서비스에서 사용하는 인증 정보인 쿠키를 HTTP 요청에 포함시켜 전달함
💥보안 위협💥
이 특징 때문에 악의적인 페이지가 클라이언트의 권한을 이용해 대상 사이트에 HTTP 요청을 보내고, HTTP 응답 정보를 획득하는 코드를 실행할 수 있음
클라이언트 입장에서 가져온 데이터를 악의적인 페이지에서 읽을 수 없도록 해야 함
➡️ "동일 출처 정책(Same Origin Policy, SOP)" 브라우저의 보안 메커니즘
참고(mozilla)
https://developer.mozilla.org/ko/docs/Web/Security/Same-origin_policy
동일 출처 정책 - 웹 보안 | MDN
동일 출처 정책(same-origin policy)은 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 중요한 보안 방식입니다. 동일 출처 정책은 잠재적으로
developer.mozilla.org
2. Origin 구분 방법
구성
프로토콜(Protocol, Scheme), 포트(Port), 호스트(Host)
⭐위 구성요소가 모두 일치해야 동일한 오리진이라고 할 수 있음
3. Same Origin Policy 실습
같은 Origin이 아닌데 A라는 사이트에서 B라는 사이트로 요청을 보내면 브라우저에서 응답을 읽을 수 없도록 막는 것을 볼 수 있음
https://dreamhack.io 페이지로 실습해보았음
위의 결과는 http://dreamhack.io/ 로 잘 나오는 것을 알 수 있음
위 결과로 보면, "origin"에서 오류가 발생한 것을 알 수 있음
➡️ Origin에서 host가 불일치하여 외부 출처에서 불러온 데이터로 인식하여 오류가 발생하여 읽어들이지 못함
4. SOP 제한 완화
브라우저가 SOP에 구애 받지 않고 외부 출처에 대한 접근을 허용해주는 경우가 존재함
1) Cross Origin Resource Sharing (CORS, 교차 출처 리소스 공유)
2) JSONP (JSON with Padding)
출처
해커들의 놀이터, Dreamhack
해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향
dreamhack.io