http://huaidan.org/archives/2690.html
2009/3/6 X4ng <[email protected]> > 最近一两天一直在学习关于csrf及csrf worm的资料,明白了不少关于csrf的东西和其它相关内容。 > > 也看了译言和百度那两只worm的分析文章,就是对其中跨域获取数据这点不太明白。 > 文章链接http://blog.csdn.net/linkyou/archive/2009/02/09/3870346.aspx > > 说是共有三种方法,跨域获取数据:1、代理方式;2、flash AS 方式(本人不会,略过);3、json hijacking方式。 > > 译言的worm是使用的代理的方式,是通过referer值来判断来源地方,并从中提取的所谓的唯一值,就是ID之类。 > > 就是使用了服务端代理来完全跨域获取数据的操作(Microsoft.XMLHTTP控件的使用)。 > > 引用一篇资料的一段话,如下: > > > 使用服务端代理技术优点是显而易见的,比如蠕虫代码、逻辑可以被很好的隐藏。缺点是在服务端发起的GET或POST请求无法跨域带上被攻击站点的本地Cookie或内存Cookie。这样CSRF蠕虫就只能通过referer里的唯一值来进行下一步攻击,而不能通过获取referer地址对应的页面内容里的由Cookie决定的唯一值,比如这样的地址 > http://www.yeeyan.com/space/showme > ,对每个登录的译言用户而言,链接地址一样,但是页面内容不一样,里面不一样的内容由用户的身份标志决定。使用服务端代理技术无法通过CSRF技术获取 > http://www.yeeyan.com/space/showme链接页面里不一样的用户唯一标志。 > > 在服务端发起的GET或POST请求无法跨域带上被攻击站点的本地Cookie或内存Cookie,是什么意思?是与cookie的同源策略有关吗? > > > 不能通过获取referer地址对应的页面内容里的由Cookie决定的唯一值,我看了译言worm样本半天,Microsoft.XMLHTTP控件不也是通过referer来获取页面中的内容吗?最终获得相关页面中好友的信息吗? > > 对于worm攻击流程的个人理解,不知对否? > > A web:被攻击网站 > B web:worm所在网站 > > > 跨域提交数据 > A web中某留言板链接或其它---->有用户点击该链接---->B web-------------->A web > 给好友继续发送,worm的链接,达传播目的 > > | <--------------- | > > | 跨域获取数据 | > > | | > > |<------------------------------------------| > > > -- > 世之奇伟 > 瑰怪 > 非常之观 > 常在于险远 > 而人之所罕至焉 > 故非有志者不能至也 > msn:[email protected] <msn%[email protected]> > mail:[email protected] <mail%[email protected]> > > > > -- RAyH4c --~--~---------~--~----~------------~-------~--~----~ 要向邮件组发送邮件,请发到 [email protected] 要退订此邮件,请发邮件至 [email protected] -~----------~----~----~----~------~----~------~--~---

