同源策略以及出现的各类安全问题

本文深入探讨了浏览器的同源策略(SOP),介绍了其起源、作用以及缺失该策略可能导致的危害。接着,详细阐述了CORS(跨域资源共享)的场景、漏洞产生原因、如何发现和绕过CORS防护,以及防御策略。此外,还提及了XSS、JSONP和CSRF等跨域攻击的相关内容和防御方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同源策略(SOP)

源:

同’源’中的’源’:协议+域名+端口
只有两个页面具有相同的 协议+域名+端口,那么他们称之为同源。(子域名也不是同源的。例如:test.com和sub.test.com)

同源策略:

同源策略是浏览器的一个安全模型,它规定了:不同源的两个客户端脚本在没有授权的情况下,不能读写对方的资源。(同时这里需要注意的一个概念:同源策略是浏览器的一种安全措施,它并没有禁止脚本的执行,只是由于同源策略的作用禁止读取HTTP回复,实际上,脚本是成功运行了的)

没有同源策略会产生的危害:

如果没有同源策略的作用,任意站点之间可以可以操作资源,当你在访问一个合法网站的时候,又打开了一个恶意网站,包含了恶意脚本,恶意脚本便可以操作合法网站上的一切资源。

可跨域的文件和标签

通常一些静态文件不受同源策略的影响:js/css/jpg/png
一些跨域标签:

<script src="..."></script>
<img src="...">
<video src="..."></video>
<audio src="..."></audio>
<embed src="...">
<frame src="...">
<iframe src="..."></iframe>
<link rel="stylesheet" href="...">
<applet code="..."></applet>
<object data="..." ></object>
出现的问题:

禁止了跨域,一定程度上来说就限制了前端功能的实现,就会出现各种跨域。其中包含XSS, CSRF, JSONP, CORS。

关于XSS和JSONP:因为 XSS 和 JSONP都是用上述的标签来实现的,所以浏览器的同源策略对其影响并不大。

关于CSRF:因为同源策略是浏览器的安全策略,并没有禁止脚本的运行,只是禁止了读取HTTP请求的回复。所以实际上请求是发送成功的,而 CSRF 就是当请求发送成功,服务器端执行成功,那么 CSRF 就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值