WEB开发网
开发学院网络安全安全技术 跨站脚本攻击深入解析(上) 阅读

跨站脚本攻击深入解析(上)

 2009-02-25 13:54:15 来源:WEB开发网   
核心提示: 解释同源策略的最好的方法是实例说明,假定我们在网页http://foo.com/bar/baz.html中放上了JavaScript代码,跨站脚本攻击深入解析(上)(2),那么,这些JavaScript可以读/写一些页面,通过在被请求的页面中对JavaScript的变量document.d

解释同源策略的最好的方法是实例说明。假定我们在网页http://foo.com/bar/baz.html中放上了JavaScript代码。那么,这些JavaScript可以读/写一些页面,但是却不能读/写其他页面。下表说明了来自http://foo.com/bar/baz.html的JavaScript可以访问哪些URL。

URL 能否访问这个URL 原因

http://foo.com/index.html

可以。

协议和主机名匹配。

端口没有显式说明。

该端口被假设为80。注意,两者的目录是不同的。这个目录是/而非/bar。

http://foo.com/cgi-bin/version2/webApp

可以。 协议和主机名匹配。

端口没有显式说明。

该端口被假设为80。注意目录的区别这里的目录是/cgi-bin/version2,而非上面的/bar。

http://foo.com:80/bar/baz.html 可以。 具有几乎相同的URL,HTTP协议匹配,端口是80(HTTP默认的端口),主机名也一样。

https://foo.com/bar/baz.html

不可以。 协议不同,这里使用的协议是HTTPS。

http://www.foo.com/bar/baz.html

不可以。 两个主机名不同,这里的主机名是www.foo.com而不是foo.com。

http://foo.com:8080/bar/baz.html 不可以。 两个端口号不同。这里的端口是8080,而前面的端口被假定为80。

上表说明了当http://foo.com/bar/baz.html试图加载某些URL时同源策略的工作情况。下面我们介绍同源策略的例外。通过在被请求的页面中对JavaScript的变量document.domain进行相应设置,可以使浏览器有限度地违反同源策略,即,如果http://www.foo.com/bar/baz.html页面中含有下列内容:

< script >

document.domain = "foo.com";

< / script >

上一页  1 2 3 4 5 6 7  下一页

Tags:脚本 攻击 深入

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接