最近,Cybernews 分析人员称,他们发现了和 PayPal 相关的 6 个高危漏洞,攻击者利用这些漏洞可以实现:绕过 PayPal 登录后的双因素认证(2FA)、使用其内部智能聊天系统发送恶意代码。然而就在上报了这些漏洞后,Cybernews 遇到了无休止拖延、无人回应、含糊响应和不被重视的情形。以下是 Cybernews 就发现的 6 个漏洞进行的说明,抛开是非对错,我们只来围观其技术姿势就好。
漏洞1:登录后的 PayPal 双因素认证(2FA)绕过
在对 PayPal for Android (v. 7.16.1) 的安卓 APP 分析中,我们发现 PayPal 对用户手机和邮箱的身份验证存在登录后的 2FA 认证漏洞。也就是说当攻击者以其它方式获取了受害者的密码凭据实施登录后,由于 PayPal 判定攻击者使用的手机设备或 IP 地址与之前受害者的不同,从而会发起一个 2FA 方式的身份验证,此时,PayPal 会通过短信或邮箱发送一个验证码给当前登录的攻击者,只有正确输入该验证码,登录才能继续往下真正有效进入受害者账户。
PayPal 的 2FA 采用了 Authflow 方式,当用户从新手机、新位置或新 IP 地址执行账户登录时就会触发 2FA 验证。在漏洞测试过程中,我们用抓包拦截代理(Charles)观察 PayPal APP 的具体网络活动,经过一番研究,我们发现了一个提权 Token,可以用它来绕过上述登录后的 2FA 认证。(由于漏洞目前尚未修复,在此不作过多细节描述)
关于该漏洞我们的关注点是:目前黑市中存在大量 PayPal 用户密码凭据信息泄露,如果恶意攻击者买下这些信息,然后配合上述我们发现的漏洞,就能轻松绕过 PayPal 登录后的 2FA 认证,进入受害者账户,对广大 PayPal 用户的账户安全形成威胁。但是,PayPal 却不这么认为,他们在回复邮件中称”这种形为不会导致任何安全问题“(there does not appear to be any security implications as a direct result of this behavior)。
漏洞2:未对手机验证方式实施动态口令
我们分析发现,在 PayPal 新推出的一个应用系统中,它会检查注册手机号码是否为当前用户账户所持有,如果不是,则会拒绝进一步的登录。在该系统中,当用户用手机号码进行账户注册时,会向 PayPal 后端服务器 api-m.paypal.com 执行一个预录式呼叫或短信请求以进行用户状态确认。这里存在的问题是,我们可以更改其中的预录式呼叫确认方式,实现对用户注册绑定手机号码的更改。危害是由于可以不通过短信验证码,很多骗子可以利用该漏洞,绕过电话身份验证,创建欺诈账户。
我们上报漏洞后,刚开始 PayPal 的安全团队还是比较重视的,但是经过几次沟通交流,他们干脆就不回复了。现在的情况是,PayPal 直接把该漏洞报告关闭了。
漏洞3:转账安全措施可绕过
为了避免欺诈和其它恶意行为,PayPal 在应用中内置了很多保护用户钱款的转账防护措施,来针对以下用户钱款操作:
使用一个新的电子设备进行登录转账;
从一个新的地理位置或 IP 地址实行转账;
改变你通常的转账模式;
你当前的转账账户刚注册不久。
当以上述一种或几种行为发生时,PayPal 在触发转账防护措施过程中,会抛出一些错误,其中包括:
你需要链接到其它新的支付方式实现转账(You’ll need to link a new payment method to send the money)
你的转账操作被拒绝,稍后请重新尝试(Your payment was denied, please try again later)
我们分析发现,上述的转账错误可以被枚举,如果与漏洞1(登录后的 PayPal 双因素认证(2FA)绕过)配合利用,就可以绕过转账安全防护措施,登录一些受害者账户,实现钱款操作。而当我们提交了该漏洞之后,PayPal 却声称,由于这需要与其它漏洞配合才能产生实际威胁,因此不属众测范围之内。
漏洞4:用户账户命名可更改
默认来说,针对用户名更改,PayPal 只允许用户一次更改其中的1-2 个字母,之后就不能再更改了。但是,我们发现,在当前 PayPal.com 网站应用中,我们可以更改完整的用户名,比如下面的从“Tester IAmTester” 更改为“christin christina”
我们通过拦截用户名更改请求,每次替换其中的1-2 个字母,可以无需任何验证就可实现完整的用户名更改,甚至可以在用户名字段中加入表情标志等 unicode 符号。漏洞危害是,如果攻击者可进行任意的用户名更改,那么会与,如果与漏洞1(登录后的 PayPal 双因素认证(2FA)绕过)配合利用,可劫持其他重名 PayPal。漏洞提交后,PayPal 回应称该漏洞已有其他白帽上报过,属于重复报。
漏洞5:自助聊天系统存储型 XSS 漏洞
在 PayPal 的自助聊天系统 SmartChat 中,用户可以找到一些通常问题的答案,我们研究发现 SmartChat 对用户输入缺乏验证,可以在聊天框中提交一些程序脚本,导致可以解析出程序按钮或框架。
我们可以用中间人攻击 MITM 代理对上述网络流量进行抓包拦截,在其中附加进恶意构造的 Payload,深入攻击可获取受害者账户信息。PayPal 对该漏洞的回应是,这不是一个外部可利用的漏洞,所以不算安全问题,最后漏洞分类为“不适用”(Not Applicable)。
漏洞6:安全问题输入中存在持久型 XSS
该漏洞与漏洞 5 类似,原因在于 PayPal 未对安全问题的用户输入答案实施过滤,导致存在 XSS,我们可以使用 MITM 代理对其抓包构造,实现 XSS 触发。下图为我们向其中注入了大量可点击的链接:
漏洞危害是,攻击者可以在其中嵌入以下链接:
提示“Download the new PayPal app” 的恶意 APP 下载链接;
更改转账收款人的邮箱地址;
对受害者进行键盘记录监听收集***信息。
PayPal 对该漏洞的回应称已有其他安全人员提交过该漏洞,而就在同一天,PayPal 对该漏洞进行了修复。
Cybernews 认为的观点
Cybernews 阐述攻击者的以下攻击场景为:
在黑市买到包含 PayPal 账户密码凭据的信息,比如这里能以$150 美金买到一个价值$5,000 的 PayPal 账户;
使用漏洞 1 绕过 PayPal 的登录后 2FA 认证;
使用漏洞 3 绕过转账安全措施,可以从账户绑定的***实施转账
攻击者还可以使用漏洞 1 绕过登录后 2FA 认证,再使用漏洞 4 更改其账户持有者的 PayPal 用户名。
对于攻击者和骗子来说,他们会有更多的动机和方式来对这些漏洞进行利用,然而但对 PayPal 本身来说,他们却认为这些都不是问题。
*参考来源:cybernews,clouds 编译整理,转载请注明来自 FreeBuf.COM