Web信息安全实践_4.2 SOP( 同源策略,same origin policy )

Posted tianjiazhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web信息安全实践_4.2 SOP( 同源策略,same origin policy )相关的知识,希望对你有一定的参考价值。

源(origin): <protocol, domain, port>

  • Protocol: http://, file://, ftp://
  • Domain: microsoft.com, google.com
  • Port: 80, 8080, 21, 3128, etc
 
(1)SOP 使用网站的源信息识别每个网站
(2)为每个源创建上下文,资源存储在上下文中
(3)对每个源隔离,不同源客户端脚本在没有明确授权情况下,不能读写对方的资源
 

SOP功能

? 保护 cookie:cookie只会被提交给产生它的源 
? 防止 javascript 访问 iframe 中的其他源的内容
SOP限制以下情形:攻击者要访问www.myzoo.com的cookie,在攻击者页面创建iframe,将www.myzoo.com的页面放在iframe中,该iframe是攻击者页面的一部分,如果用户在未登出情况下访问了攻击者页面,那么用户的cookie会包含在iframe页面中,攻击者可使用js代码,通过iframe访问www.myzoo.com的cookie
? 防止 Ajax 跨域请求
? ….

安全和应用(跨域的需求)的折中: CORS

在 HTTP Header 中加入相应的头部
  • Access-Control-Allow-Origin
  • Access-Control-Request-Method
  • Access-Control-Allow-Headers
  • Access-Control-Allow-Credential:默认情况下Ajax跨越时不携带cookie。该头部要求Ajax携带cookie,同时要求在接收方设置允许接收Ajax携带的cookie
  • …..
<?php
    header("Access-Control-Allow-Origin:*");
    $myfile = fopen("test.txt","w") ;
    fwrite($myfile,$_GET["cookie"]);
    fclose($myfile);
?>

 

以上是关于Web信息安全实践_4.2 SOP( 同源策略,same origin policy )的主要内容,如果未能解决你的问题,请参考以下文章

前端安全之同源策略CSRF 和 CORS

用浏览器缓存绕过同源策略(SOP)限制

Web API:Web API跨域问题

“同源政策”能给我们带来啥?

浏览器SOP

xss利用——BeEF#stage3(绕过同源策略与浏览器代理)