开启左侧

「 网络安全常用术语解读 」同源策略SOP详解:没有SOP就没有隐私

[复制链接]
在线会员 795eQI 发表于 2025-2-12 13:55:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
共源战略可庇护用户的隐衷战数据宁静,避免歹意网站颠末跨域恳求(比方,颠末JavaScript)会见或者改正其余网站的数据。
「 收集宁静经常使用术语解读 」共源战略SOP详解:不SOP便不隐衷-1.png


1. 共源战略发生布景

当浏览器从一个域收收一个HTTP恳求到另外一个域时,取另外一个域相干的所有cookies,包罗身份考证会话cookie,也会动作恳求的一部门收收。假设不共源战略,假设您会见一个歹意网站,该网站将能够读与您的电子邮件、公众消息等。
2. 共源战略界说

共源战略(Same Origin Policy,SOP)是浏览器的一种宁静体制,旨正在避免网站相互进犯。共源战略划定跨域之间的剧本是断绝的,一个域的剧本不克不及会见/操纵另外一个域的尽年夜部门属性战办法。
这类战略有帮于庇护用户数据的宁静,避免歹意剧本或者代码的施行。共时,它也限定了网页能够会见战操纵的收集资本范畴,有帮于进步网页的功用战宁静性。
共源战略限定一个源上的剧本会见另外一个源的数据。一个源包罗一个URI和谈、域名战端标语。比方,思考如下URL:
http://normal-website.com/example/example.html
那使用 http 和谈、域名 normal-website.com 战端标语 80 。下表显现了假设上述URL中的实质试图会见其余滥觞,将怎样使用共源战略:
URL可否许可会见?
http://normal-website.com/example/是:差异的和谈、域名战端心
http://normal-website.com/example2/是:差异的和谈、域名战端心
https://normal-website.com/example/可:差别的和谈战端心
http://en.normal-website.com/example/可:差别的域名
http://www.normal-website.com/example/可:差别的域名
http://normal-website.com:8080/example/可:差别端心
共源战略的主要绳尺:去自差异域名的页里能够相互通信,但是差别域名的页里之间则没法间接接互。那有帮于庇护用户免受跨站面剧本进犯(XSS)等进犯。「 典范宁静漏洞系列 」01.跨站剧本进犯XSS详解
3. 共源战略的施行细节

共源战略凡是掌握JavaScript代码对于跨域减载的实质的会见。凡是许可跨域减载页里资本。比方,SOP许可颠末 <img> 标签嵌进图象,颠末 <video> 标签嵌进媒介,和颠末 <script> 标签嵌进JavaScript。可是,固然那些内部资本能够由页里减载,但是页里上的所有JavaScript皆没法读与那些资本的实质。
3.1. 二个枢纽绳尺

共源战略主要鉴于二个枢纽绳尺:
    源匹配:是指一个页里只可宁可自己的源(和谈、主机/域名、端心)匹配。换句话道,假设二个页里去自差别的源(比方,去自差别的和谈或者主机/域名),那末那些页里便被望为去自差别的源。共源查抄:是正在源匹配的根底上截至的。当一个页里测验考试会见其自己的资本(如JavaScript文献、图片等)时,浏览器会截至共源查抄。假设二个页里去自差异的源,那末共源查抄将许可页里的剧本会见那些资本。
3.2. 完毕道理

战略施行的一种罕见方法是“SOP”(Same-Origin Policy)或者“SOPs”(Same-Origin Policies)。正在SOP或者SOPs中,完毕道理主要涉及如下步调:
    查抄恳求的滥觞:浏览器起首会查抄恳求的滥觞可否取目前页里的源匹配。查抄共源查抄:假设恳求的滥觞取目前页里的源匹配,那末浏览器会退一步查抄恳求可否契合共源战略的其余请求,比方可否正在统一域下(即和谈、主机战端心皆差异)。施行共源操纵:假设恳求满意共源战略的统统请求,那末浏览器将许可施行响应的操纵,如减载资本、施行剧本等。
值患上留神的是,跟着Web手艺的开展,一点儿新的宁静体制战手艺已经呈现,比方CORS(Cross-Origin Resource Sharing,跨域资本同享)和谈战跨域通信(Cross-Origin Co妹妹unication)等,它们正在必然水平上对于共源战略截至了扩大战改良。
对于CORS能够参阅「 典范宁静漏洞系列 」10.跨域资本同享CORS漏洞详解
3.3. 破例情况

固然共源策略有多种破例情况:
    有些工具是跨域可写的,但是不成跨域读与,比方iframes或者新窗心中的 location 工具或者 location.href 属性。有些工具是跨域可读但是不成写的,比方 window 工具的 length 属性(用于保存页里上使用的帧数)战 closed 属性。replace 函数凡是能够正在 location 工具上,也被称为跨域函数。能够跨域挪用某些函数。比方,能够正在新窗心上浮用函数 close 、 blur 战 focus 。也能够正在iframe战新窗心上浮用 postMessage 函数,以就将消息从一个域收收到另外一个域。
因为保守请求,正在处置cookie时,共源战略更加严紧,因而凡是能够从网站的统统子域会见cookie,即使每一个子域正在手艺上皆是差别的滥觞。您能够使用 HttpOnly cookie标记部门低落此危急。
4. 参照链交

    https://portswigger.net/web-security/cors/same-origin-policy

「 收集宁静经常使用术语解读 」共源战略SOP详解:不SOP便不隐衷-2.png
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )