锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
教你如何挖到Twitter的XSS漏洞并绕过了CSP

作者: 佚名  日期:2017-05-04 07:39:37   来源: 本站整理

 几个月前,我挖到了一个Twitter的XSS漏洞,同时绕过了站点的内容安全策略(CSP)成功执行了JavaScript代码。在本篇文章中将主要向大家分享该XSS漏洞挖掘的思路及具体细节,同时在文章中附带了PoC演示视频。
漏洞分析
存在漏洞的站点为https://apps.twitter.com,当开发人员创建应用时可以设置服务网站(Website)信息,用于提供对应用程序更加详细的描述,及应用下载等功能。

经过测试后发现,Twitter的开发人员对该处输入的内容在服务端的正则校验可能是这样:([https?:])\w+
细心的同学可能会发现这个正则表达式的开头缺少^字符,当我们输入类似data:CONTENT#https://…这种url是可以通过验证的,所以此时我们已经获得了一个HTML注入。由于该站点CSP(内容安全策略)的限制,此处注入HTML代码并不会解析。
在对HTTP头检查后,我注意到script-src和object-src块中有多个CSP(内容安全策略)配置错误,利用这些配置缺陷可能绕过twitter.com的CSP(内容安全策略)。CSP的规则如下所示:

script-src https://connect.facebook.net https://cm.g.doubleclick.net https://ssl.google-analytics.com https://graph.facebook.com https://twitter.com 'unsafe-eval' 'unsafe-inline' https://*.twimg.com https://api.twitter.com https://analytics.twitter.com https://publish.twitter.com https://ton.twitter.com https://syndication.twitter.com https://www.google.com;frame-ancestors 'self';object-src https://twitter.com https://pbs.twimg.com; default-src 'self';...
看到这里,object-src和script-src块立即引起了我的注意。经过一番分析,我找到一个可信域(cdn.syndication.twimg.com 又名 syndication.twitter.com)主机的JSONP endpoints。
一开始我认为,通过利用object-src块的内容(https://pbs.twimg.com),这个网站可以将Flash文件(as picture/video extension with few bytes header)上传到Twitter的CDN服务器,将其作为嵌入式对象(embedded Object)以执行代码。然而由于对用户输入长度的限制,我试图执行的payload都因为过长而被截断,所以这种利用方式最后没有成功。我找到一个可信域下可以利用的点,写出了一个较短的payload,当注入到twitter.com的时候代码执行,成功弹窗。

http://syndication.twitter.com/widgets/timelines/246079887021051904?dnt=true&domain=site.com&lang=en&callback=alert
当我们向服务端请求,来自syndication.twitter.com主机的JSONP响应头有一个Content-Disposition字段强制将返回的内容作为文件下载。但是,Chrome浏览器即使将返回的内容作为附件下载但由于配置错误的“unsafe-inline”CSP(内容安全策略)块意味着我们仍然可以执行代码。
通过设置服务网站(Website)信息如下:

data:text/html,

客户端代码将会执行,弹窗。
PoC 演示视频
后记
在后续的分析过程中我发现ssl.google-analytics.com、www.google.com还有graph.facebook.com主机的JSONP endpoints也可以被利用,我已经将其写入到向Twitter报告漏洞的邮件中,但官方表示这些问题短期内可能不会被修复,以为这可能影响部分功能的正常使用,同时联系其他厂商也需要一定的时间。
在这篇文章发布后Twitter上的研究员@Ben Hayak提示,我们也可以在该点展开同源方法执行(SOME)攻击,像这样:

https://syndication.twitter.com/widgets/timelines/246079887021051904?callback=
document.body.firstElementChild.Reference.submit



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等