PayPal旗下Braintree网站上不寻常的漏洞(奖金3200美元)
原文链接:https://blog.usejournal.com/an-unusal-bug-on-braintree-paypal-b8d3ec662414
这是我关于PayPal Bug Bounty计划的第一篇文章。
如果你正在寻找一些很优秀的渗透测试文章,请查看Harsh Jaiswal的文章。
所以,回到这篇文章。在一个晴朗的日子里,我在braintreepayments.com上寻找漏洞,这是Paypal的Bug Bounty计划的范围。
当我查看braintreepayments.com页面的源代码,并发现了这段奇怪的JavaScript代码。
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
上的任何超链接。
但限制是只有5个字母表的locale参数保存在浏览器的localstorage中,但这足以创建恶意的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=f word
因此,在访问此网址后,一旦用户被重定向到https://braintreepayments.com/fword
,即使他们尝试点击Log in或尝试注册也是如此Sandbox Account。
影响:
如果攻击者使用PoC创建公共广告活动,则该问题可能会被大规模利用,那么用户将无法使用braintreepayment。用户将被重定向到/ fword,直到他们清除浏览器的JavaScript缓存。
时间线:
2018年9月30日:初步发现。
2018年10月4日:由HackerOne团队进行分类
2018年10月10日:Paypal 以3,200美元的奖金奖励princechaddha。
2018年11月3日:问题已解决