挖洞经验 | 价值$7500的Google MyAccount服务端点击劫持漏洞(Clickjacking)

栏目: 编程工具 · 发布时间: 5年前

内容简介:用BurpSuite测试了一下,发现这个服务端并没有 X-Frame-Option 的头设置。X-Frame-Options 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object>中展现的标记,网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。X-Frame-Options有三种可配置值,分别是DENY、SAMEORIGIN和ALLOW-FROM。

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) 最近,我发现了Google My Account(myaccount.google.com)的一个点击劫持漏洞(Clickjacking),并最终收获了$ 7,500的赏金。不可思议吧?其实我早在3月份的时候就发现了这个漏洞,但却被Google的内容安全策略(CSP)给拦截了,后来,在8月份的时候,我又研究了一番,终于绕过了CSP,成功实现Clickjacking。

最早发现

一开始,我关注研究的是business.google.com和其子域名,随便试试了它上面的各种功能,分析一下请求和响应内容,编辑请求参数,等等。但当我操作用户管理时,却又跳转到了myaccount.google.com。

用BurpSuite测试了一下,发现这个服务端并没有 X-Frame-Option 的头设置。X-Frame-Options 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object>中展现的标记,网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。X-Frame-Options有三种可配置值,分别是DENY、SAMEORIGIN和ALLOW-FROM。

看到了这里之后,我用Firefox ESR浏览器,构造了一个包含iframe的html跳转页面cj.html,iframe中写入了我的myaccount.google.com和business.google.com账号。逻辑是没错的,但是最终却被Google自身的CSP策略给挡了。

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) 绕过CSP

这样我就放着一边了,后来到8月15日,我又坐下来慢慢研究,我在想触发CSP的难道是出在了其跳转源的origin参数上吗?所以,我把心思放到了origin参数的business.google.com之上。

由于构造的跳转页面中,其iframe片段中包含的链接为:

https://myaccount.google.com/u/0/brandaccounts/group/101656179839819660704/managers?originProduct=AC&origin=https://business.google.com

响应情况为:

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) 我意识到它会不会接收其它origin源主机呢?所以,我就随手一改,把origin源主机改为了 https://akugalau.business.google.com ,这一改,虽然请求可以通过,但是akugalau.business.google.com本来就是一个不存在的子域名网站,所以,这样一来,还是没有逃过CSP的魔爪。

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) 就这样放弃吗?Come on,Google可是一家大公司啊,再想想办法吧!

没事,我有的是时间。所以,我又往origin参数里添加了一些其它字符,比如加了一个回车符%0d,变为URL编码后的 https://%0d.business.google.com ,最终iframe中的URL为:

https://myaccount.google.com/u/0/brandaccounts/group/101656179839819660704/managers?originProduct=AC&origin=https://%0d.business.google.com

这样一试,CSP竟然没跳出来了!t!!!!?!@?#!@?3!@?3?

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) 在构造的html页面中,我成功实现了点击劫持(Clickjacking):

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) PoC

如果你问我是怎么想到绕过CSP的方法的,其实我也不知道,就是乱试呗,看运气。上报Google之后,我估计赏金也就3,133.7 或 5,000美金左右,但是,Google最终给我的却是$ 7,500美金!

挖洞经验 | 价值00的Google MyAccount服务端点击劫持漏洞(Clickjacking) PoC Code :

<iframe src=” https://myaccount.google.com/u/0/brandaccounts/group/ {your-group-id}/managers?originProduct=AC&origin= https://%0d.business.google.com ” width=”1000″ height=”1000″>

漏洞攻击适用场景:

1. Google组用户基于group-id邀请新成员;
2. 新成员接受邀请;
3. 新成员知晓组ID号 {your-group-id} ;
4. 新成员以此构造一个包含类似以上点击劫持的恶意页面,欺骗管理员,实现自身权限升级为组管理者;
5. 新成员成功实现对组项目的接管。

Poc视频:

8.11 : 向Google报告漏洞
8.15 : Google安全团队要求更多细节
8.15 : 上报更多漏洞细节
8.21 : Google暂时无法验证漏洞
8.21 : 给Google了PoC视频
8.28 : Google要求攻击场景补充
8.28 : 描述攻击场景
9.11 : Google认可
9.25 : 收到7,500$赏金
9.25 : 我差点喜极而泣

*参考来源: apapedulime ,clouds编译,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java性能权威指南

Java性能权威指南

奥克斯 (Scott Oaks) / 柳飞、陆明刚、臧秀涛 / 人民邮电出版社 / 2016-3-1 / CNY 79.00

市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。 通过阅读本书,你可以: 运用四个基本原则最大程度地提升性能测试的效果 使用JDK中......一起来看看 《Java性能权威指南》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具