内容简介:用BurpSuite测试了一下,发现这个服务端并没有 X-Frame-Option 的头设置。X-Frame-Options 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object>中展现的标记,网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。X-Frame-Options有三种可配置值,分别是DENY、SAMEORIGIN和ALLOW-FROM。
最近,我发现了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策略给挡了。
绕过CSP
这样我就放着一边了,后来到8月15日,我又坐下来慢慢研究,我在想触发CSP的难道是出在了其跳转源的origin参数上吗?所以,我把心思放到了origin参数的business.google.com之上。
由于构造的跳转页面中,其iframe片段中包含的链接为:
响应情况为:
我意识到它会不会接收其它origin源主机呢?所以,我就随手一改,把origin源主机改为了 https://akugalau.business.google.com ,这一改,虽然请求可以通过,但是akugalau.business.google.com本来就是一个不存在的子域名网站,所以,这样一来,还是没有逃过CSP的魔爪。
就这样放弃吗?Come on,Google可是一家大公司啊,再想想办法吧!
没事,我有的是时间。所以,我又往origin参数里添加了一些其它字符,比如加了一个回车符%0d,变为URL编码后的 https://%0d.business.google.com ,最终iframe中的URL为:
这样一试,CSP竟然没跳出来了!t!!!!?!@?#!@?3!@?3?
在构造的html页面中,我成功实现了点击劫持(Clickjacking):
PoC
如果你问我是怎么想到绕过CSP的方法的,其实我也不知道,就是乱试呗,看运气。上报Google之后,我估计赏金也就3,133.7 或 5,000美金左右,但是,Google最终给我的却是$ 7,500美金!
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 挖洞经验 | 篡改密码重置的加密参数实现账号劫持
- 挖洞经验 | 绕过Facebook CSRF防护机制实现账户劫持
- 挖洞经验 | 利用CSRF漏洞劫持Youtube用户的通知消息
- 挖洞经验 | 看我如何发现星巴克(Starbucks)子域名劫持漏洞
- 挖洞经验 | 密码重置Token可预测性导致的账号劫持漏洞
- 挖洞经验 | 通过密码重置功能构造HTTP Leak实现任意账户劫持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning ASP.NET 4 in C# and Vb
Imar Spaanjaars / Wrox / 2010-3-19 / GBP 29.99
This book is for anyone who wants to learn how to build rich and interactive web sites that run on the Microsoft platform. With the knowledge you gain from this book, you create a great foundation to ......一起来看看 《Beginning ASP.NET 4 in C# and Vb》 这本书的介绍吧!