PayPal旗下Braintree网站的“不寻常”漏洞(3200美金)
这是我关于PayPal漏洞悬赏计划的第一篇文章,今后我会放出更多的文章。
在一个晴朗的日子里,我突然注意到Paypal的漏洞悬赏计划中有一个我以前从未关注过的网站braintreepayments.com
,既然如此,那还等什么呢。
当我查看braintreepayments.com
首页源码时,发现了这个非常奇怪的前端代码。
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
,即使他们尝试点击登录或注册按钮也是一样也是。
影响:
如果攻击者大规模散播类似上述的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
最新评论