[理论-学习]Web安全-XSS-基础20

声明:

由于笔者能力有限,难免出现各种错误和漏洞。全文仅作为个人笔记,仅供参考。

笔记内容来源于各类网课。

一、概述

浏览器的同源策略。

二、同源策略

源指源头,信息来源的位置。在计算机中源在RFC6454文档中规定,源是由协议、主机名、端口名组成。范例: 协议://主机名:端口号/
例如: http://www.example.com 与htts://www.example.com 不是同源(协议不同)。
在计算机中,同源策略(Same origin Policy,SOP)用于阻止一个非同源的页面恶意代码去访问另外一个非同源页面
只有两个页面属于同一个源才能互相访问。不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。
例如:源A页面要访问源B页面认证Cookie,如果不加阻止读取Cookie,会造成Cookie欺骗绕过登陆验
证。
注意:同源一定要是协议、主机名、端口号完全一致

例如下面的页面访问百度页面,会被阻止访问。 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TEST</title>
</head>
<body>
    <script>
        var url = 'https://www.baidu.com';
        var req = new XMLHttpRequest();
        req.open('GET', url);
        req.send('TEST');
    </script>
</body>
</html>

三、IE源的特殊处理

1、位于可信域(Trust Zones) 的互信的域名间,不受同源策略限制。

2、IE在判断同源时不考虑端口。

通过document.domain读取或修改源。但是有限制,修改之后的源不能通过其他脚本再次修改。

domain属性可以解决因同源安全策略带来的不同文档的属性共享问题。降域document.domain
同源策略认为域和子域属于不同的域,如:
child1.a.com与a.com,
child1.a.com与child2 .a.com,
xxx.child1.a.com与child1 .a.com
两两不同源,可以通过设置document.damain='a.com',浏览器就会认为它们都是同一个源。想要实现以上任意两个页面之间的通信,两个页面必须都设置documen .damain='a.com'。

查看当前的源( document.write('domain:' + document.domain); )

查看百度的源:

这里简单介绍同源策略,更多内容可以百度查看。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值