白帽子讲web安全---web浏览器安全
来源:互联网 发布:javascript mdn 中文 编辑:程序博客网 时间:2024/06/05 17:44
同源策略:限制了来自不同源的“document”或脚本,对当前的“document”读取或设置某些属性。
影响同源的因素:host(域名或ip地址),子域名,端口,协议
在浏览器中<script><img><iframe><link>
都可以进行跨域加载,带有“src“的属性标签加载资源时,实际上是由浏览器发起一次GET请求。
不同于XMLHttpRequest,通过src属性加载资源时,浏览器限制了javascript的权限,使其不能读,写返回的内容
AJAX的主要技术实现(非ie浏览器)XMLHTTPRequest :XHR英文全名XmlHttpRequest,中文可以解释为可扩展超文本传输请求。XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。 XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。
XMLRequestHttp受到同源策略的约束,不能进行跨域访问资源,在AJAX中受限
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo XMLHttpRequest</title> <script type="text/javascript"> var xmlhttp; function loadXMLDoc(url) if(window.XMLHttpRequest) { //code for firefox,Opera,IE7 ,etc. xmlhttp=new XMLHttpRequest(); } else if(window.ActiveXObject) { //code for IE6,IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } if(xmlhttp!=null) { xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET";url,true) xmlhttp.send(null); } else { alert("your browser dose not support XMLHttpRequest"); } function state_Change() { if(xmlhttp.readystate==4) { //4="loaded" if(xmlhttp.status==200) { //200="ok" document.getElementById("T1").innerHTML=xmlhttp.responseText; } else { alert("roble retriveing date:"+xmlhttp.statusText); } } } </script></head><body onload="loadXMLDoc('C:/xmlhttp.txt')"><div id="T1" style="border:1px solid #e3e3e3;height:40;width:300;padding:5"></div><br/><button onclick="loadXMLDoc('C:/xmlhttp.txt')"> </body></html>
如果对XMLHttpRequest不加以限制,会造成CSRF的token
解决方案:通过目标域返回HTTP的头部来授权是否允许跨域访问,javascript本身无法操作HTTP头部,在H5中加入。
CSRF:CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
token:(信息安全)在计算机身份认证中是令牌的意思,在词法分析中是标记的意思。Token, 令牌,代表执行某些操作的权利的对象
访问令牌(Access token)表示访问控制操作主题的系统对象
邀请码,在邀请系统中使用
Token, Petri 网(Petri net)理论中的Token
密保令牌(Security token),或者硬件令牌,例如U盾,或者叫做认证令牌或者加密令牌,一种计算机身份校验的物理设备
会话令牌(Session token),交互会话中唯一身份标识符
令牌化技术 (Tokenization), 取代敏感信息条目的处理过程
(网络)
Token ring 即 令牌环网,网络技术里面的:
令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。
在浏览器中DOM,Cookie,XMLHttpRequest 会受到同源策略的影响,此外一些第三方插件也同样受到影响,flash,java Applet,sliverlight,Google Grears,etc.
flash同源策略,通过目标网站提供的crossdomain.xml文件判断是否允许当前”源(origin)”的flash跨域访问资源
以www.qq.com的策略文件为例,当浏览器子啊任意其他域的页面中加载了flash后,如果对www.qq.com发起访问请求,flash会先检查www.qq.com上此策略文件是否存在,如果文件存在,则检查发起的请求域是否在许可范围内。
问题是同源策略并非是牢不可破的,部分浏览器漏洞会,将同源策略绕过。
- 白帽子讲web安全---web浏览器安全
- 白帽子讲Web安全
- 白帽子讲Web安全
- 白帽子讲Web安全
- 白帽子讲web安全
- 白帽子讲Web安全读书笔记
- 《白帽子讲Web安全》读书笔记
- 白帽子讲Web安全 札记
- 白帽子讲web安全 读书笔记
- 白帽子讲web安全之1
- 白帽子讲web安全之2
- 白帽子讲web安全之3
- 白帽子讲web安全之4
- 白帽子讲web安全之5
- 白帽子讲web安全之6
- 读后感 《白帽子讲Web安全》
- 读书笔记/白帽子讲web安全【xss】
- 白帽子讲web安全(1)
- 初学C++遇到的引用头文件问题
- C++中继承的性质
- 学习C++中的多态
- 将博客搬至CSDN
- 将博客搬CSDN
- 白帽子讲web安全---web浏览器安全
- Java中length,length(),size()区别
- Android中跨进程的意思
- 27. Given an array and a value
- 【POJ 2251】Dungeon Master(BFS)
- leetcode Permutation Sequence
- 有收索图标的EditText
- Unity3D调用iOS摄像头全屏旋转,ZXing测试
- 基于Hadoop的Kylin测试环境搭建