From:0x37 Security
这几天分析了几个大网站的XSS&CSRF漏洞,又开始思考跨域蠕虫的问题。QZ修饰鬼页后发现了在IE6下跨域的BUG,这个发现带来的冲击可不仅仅是盗cookie那么简单:),不过我下面要提到的跨域蠕虫与这个BUG无关,本文纯属YY一下。
XSS Worm的流行离不开SNS网络,技术核心非XMLHttpRequest对象莫属,我写了几个SNS网络的Worm,如果这几个Worm之间可以互相通信的话(突破自身无法跨域的缺陷),那危害将会更大,会更有趣:)。首先我们要明确Webx.0世界中的Worm的生存条件以及它们是如何繁殖的(略)。要让Worm之间通信,方法有很多。
一、Mail-to-Mail Worm:
邮箱之间可以互发邮件,Mail Worm可以借助这点将payload(XSS Trap)传播到不同的邮箱服务上,当然这时的payload几乎是不一样的。比如sohu mail的XSS Worm与QQ mail的XSS Worm,他们的通信渠道就完全可以借用邮件本身的互发功能。这两个不同mail环境下的Worm的DOM逻辑肯定不会一样,不过基本的功能模块可以共享,比如XMLHttpRequest对象以及一些基本自定义函数等,这样的跨域Worm必须具备判断自身所处环境的能力,这个很简单。
这个是跨域蠕虫最简单的模型。
二、CSRF Worm:
这种模式的跨域蠕虫要借用CSRF漏洞。比如我在myspace.cn上爆发了一个XSS Worm,而yeeyan.com上存在很低级的CSRF漏洞,我要如何将myspace上的威胁带到yeeyan上呢?这时就可以在 myspace.cn上的XSS Worm中加入这样的代码:
<iframe src=http://www.0x37.com/Project/csrf/do.asp?csrf=http://www.yeeyan.com/groups/newTopic/&data[Post][content]=HI+CSRF:)&ymsggroup=&ymsgee=19076&ymsgee_username=19076 width=0 height=0></iframe>
如果是简单的发送请求的话,可以:
<img src=http://www.yeeyan.com/space/deleteEvent/15728>
我假设myspace.cn与yeeyan.com有某种合作关系,用户经常需要这两者提供的服务,并都登陆了这两个SNS网络,那么当myspace的用户A被XSS Worm感染之后就会发送CSRF请求给yeeyan的用户B(A与B在现实世界是同一个人),那么用户B就会自动在yeeyan上发布一条留言。而如果此留言本身就是一个XSS Trap呢?或者是一条针对yeeyan.com的CSRF欺骗信息?呵呵,至于蠕虫是如何繁殖的,这是一种艺术:)。
三、网马中枢:
又提到这个概念了。这样的中枢不应该局限于挂马技术的应用上,独立的Web2.0 Worm需要一个控制中心,以保证本来没任何关系的Worm之间可以互相通信。而网马中枢就是这个通信的中间枢纽:)。网马中枢还应该做到对网马与 Web2.0 Worm的实时控制。这个不是没有,而是还不够完善。我说过,发展这个中枢这需要结合复杂的服务端技术。这已经是一种发展趋势。
四、其它通信方式:
很多,我不继续YY了……
还是那句话:网马中枢才是王道。这类工具如:MPack Toolkit、BeEF、XSS SHELL等都挺不错。至于跨域嘛……也许根本就不需要这么麻烦。
分享到:
相关推荐
#### 二、关于跨域访问Cookie的处理 在跨域访问中处理Cookie是一项重要的任务,因为Cookie往往包含用户的认证信息。在跨域请求中,默认情况下Cookie不会被发送。因此,在某些场景下需要显式地配置服务器端允许发送...
以前在面试的时候经常遇到问关于跨域的事儿,所以自己对跨域有一定的概念性了解,知道什么是跨域以及解决跨域的方法,但是具体实际从来没有操作过,直到最近在公司项目中,遇到了一个需要使iframe跨域进行POST提交的...
H5的video标签跨域.HTML的video标签跨域 我们都知道HTML video标签能播放视频 但是如果你的video要播放的是非当前域名下的视频文件,这就要跨域播放视频, 应该如何实现呢?
【Finereport跨域打印文档】是指在使用帆软报表工具Finereport时,涉及到的在不同源(即跨域)环境下进行文档打印的技术说明。跨域打印是Web开发中的一个重要概念,通常涉及到浏览器的同源策略限制。由于安全原因,...
【跨域问题详解】 跨域,是Web前端开发中经常遇到的一个挑战,它源自浏览器的安全策略——同源策略。同源策略规定,只有当页面与请求资源的域名、协议和端口完全一致时,浏览器才会允许JavaScript进行交互。以下是...
JavaScript跨域是Web开发中一个常见的挑战,由于浏览器的同源策略限制,JavaScript无法直接访问不同源(协议、域名或端口不一致)的资源。本文将深入探讨JS跨域的解决方案,帮助开发者理解并解决这个问题。 首先,...
众所周知,我们在做前后端分离项目的时候,经常需要在本地起前端工程,接口希望拉取服务端的实际数据而不是本地的mock数据,而如果本地程序直接访问远程接口, 肯定会遇到跨域问题。 什么是跨域?实现跨域的多种方式? ...
在这个场景中,我们关注的是"跨域jar包",这涉及到网络应用中的跨域资源共享(CORS)策略。 跨域是Web应用程序的基本安全机制,它防止了一个源(如浏览器中的JavaScript)访问另一个源(如不同域名的服务器)的数据...
然而,随着Web应用的发展,跨域问题常常成为开发过程中的一个挑战。"跨域"是指由于浏览器的安全策略,一个源(Origin,由协议、域名和端口组成)的文档不能通过JavaScript直接访问另一个源的资源。为了解决这个问题...
JSONP是一种早期的跨域数据交互协议,它的主要限制在于只能支持GET请求,且存在安全性问题。本JAR包的引入,使得开发者可以更安全、更灵活地处理AJAX的跨域请求,支持POST、PUT等复杂HTTP方法。 首先,我们需要理解...
关于"umi跨域401",在前端开发中,由于浏览器的同源策略限制,当我们尝试从一个域向另一个域发送Ajax请求时,可能会遇到跨域问题。401错误通常表示未授权,意味着服务器验证了客户端的身份,但认为它没有足够的权限...
在互联网应用中,由于同源策略的...`window.name`跨域通信虽然存在一定的局限性,但在某些场景下能提供一种实用的跨域数据传递手段。在实际开发中,结合其他跨域技术,如`postMessage`,可以构建更健壮的跨域通信系统。
当我们在Cesium中尝试加载由Geoserver提供的地图服务时,可能会遇到跨域问题。这个问题主要是由于浏览器的安全策略限制了不同源之间的通信。以下是对这个问题的详细解释和解决方法。 首先,理解“跨域”是什么至关...
对于使用Apache Tomcat服务器的应用程序来说,跨域问题同样普遍存在。当客户端尝试访问由Tomcat服务器托管的应用程序时,如果客户端所在的域名与Tomcat服务器的域名不一致,则可能会遇到跨域问题。为了解决这类问题...
如果还有问题,可以检查服务器日志,查看是否存在错误信息,或者使用开发者工具的网络面板来调试请求。 在提供的压缩包文件中,`cesium加载资源目标站点跨域设置-需要的jar和详细说明`可能包含了实现上述跨域配置所...
**普元EOS跨域组件详解** 在Web开发中,跨域问题是一个常见的挑战,它源自浏览器的同源策略,限制了JavaScript对不同源(协议、域名、端口)的HTTP请求。普元EOS,作为一款企业级的服务治理平台,提供了解决这一...
在Web开发中,"跨域调用"是一个关键的话题,特别是在使用JavaScript进行AJAX操作时。由于浏览器的同源策略(Same-Origin Policy),一个域下的文档或脚本不能请求另一个域下的资源,除非这两个域完全相同。这限制了...
在Web开发中,由于同源策略的限制,JavaScript通常无法直接访问不同源的资源,但随着Web服务的广泛应用,跨域请求的需求日益增加。jQuery,作为一个强大的JavaScript库,提供了便捷的方式来处理这种问题,特别是通过...
【标题】:“Tomcat配置解决跨域问题” 在Web开发中,跨域(Cross-Origin)是一种常见的安全限制,它阻止浏览器从一个源加载资源到另一个不同的源。这主要是为了防止恶意脚本通过注入来窃取数据。然而,在进行前后...