해킹/Webhacking
SOP(Same Origin Policy)
hellowhales
2023. 7. 16. 13:21
728x90
클라이언트가 웹 서비스에 접속할 때, 브라우저는 해당 웹 서비스에서 사용하는 쿠키를 HTTP 요청에 포함시켜 전달한다. 이 때 악의적인 페이지가 그 쿠키를 이용해 클라이언트의 정보를 획득하고 그 쿠키를 발행한 사이트에 공격을 가할 수 있다. 때문에 클라이언트 입장에서는 가져온 데이터(쿠키)를 악의적인 페이지에서 읽을 수 없게 해야한다. 이 때 사용되는게 SOP이다. 정보의 출처(오리진)와 동일한 사이트에서만 데이터를 읽을 수 있게 한다.
오리진
프로토콜, 포트, 호스트로 구성된다. 이 세가지가 모두 같아야 데이터(쿠키)를 읽을 수 있다.
우회
CORS(Cross Origin Resource Sharing) : HTTP 헤더에 기반하여 Cross Origin 간에 리소스를 공유하는 방법, 발신 측에서 CORS 헤더 설정하면 수신측에서 데이터를 가져갈 수 있다.
JSONP(JSON with Padding) : 자바스크립트나 CSS 등의 리소스는 SOP에 영향을 받지 않음, 따라서 <script> 태그로 Cross Origin 데이터를 불러온다. callback 함수를 활용
728x90