PayPal旗下Braintree网站的“不寻常”漏洞(3200美金)

iso60001  2097天前

22.png

这是我关于PayPal漏洞悬赏计划的第一篇文章,今后我会放出更多的文章。

在一个晴朗的日子里,我突然注意到Paypal的漏洞悬赏计划中有一个我以前从未关注过的网站braintreepayments.com,既然如此,那还等什么呢。

当我查看braintreepayments.com首页源码时,发现了这个非常奇怪的前端代码。

33.png

var targetLocale = window.location.href.match(/ locale =(.{5})/)?window.location.href.match(/ locale =(.{5})/)[1]:null;

以上图片中这段JS代码,会检查用户是否发送带有locale参数的请求,当参数存在且值不等于en-us(currentLocale)时,就会被window.localStorage.setItem('locale', targetLocale);保存到storedLocale里 。然后,每当用户访问braintreepayments.com网站,一旦currentLocale!=storedLocale,用户就会被重定向到https://braintreepayments.com/locale,即使他试图点击https://braintreepayments.com上的其他任何超链接都是一样。

虽然限制了locale参数只有在五个字符时,才能保存在浏览器的本地存储中,但这也足以创建恶意的PoC。

很快,我创建的PoC如下:

https://www.braintreepayments.com/legal/policy-updates?utm_campaign=BT_EMEA_LUX_SafeHarborUpdate_20160413&utm_medium=email&utm_source=Eloqua&elq_cid=5230793&locale=fword

一旦受害者访问此网址,就会被重定向到https://braintreepayments.com/fword,即使他们尝试点击登录或注册按钮也是一样也是。

44.png

影响:

如果攻击者大规模散播类似上述的PoC链接,那么可能会让大量用户无法正常使用braintreepayment。所有用户都会被无限重定向到/fword,直到他们清除浏览器的javascript缓存。

时间线:

2018年9月30日:初步发现

2018年10月4日:由HackerOne团队进行分类

2018年10月10日:Paypal给与3200美元奖金

2018年11月3日:问题解决

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@princechaddha/an-unusal-bug-on-braintree-paypal-b8d3ec662414

最新评论

Ren  :  Oh, ok. Can we work together on the article? Waiting for your reply email. Thank you ;)
2096天前 回复
昵称
邮箱
提交评论