在对 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)。
我们分析发现,在PayPal新推出的一个应用系统中,它会检查注册手机号码是否为当前用户账户所持有,如果不是,则会拒绝进一步的登录。在该系统中,当用户用手机号码进行账户注册时,会向PayPal后端服务器api-m.paypal.com执行一个预录式呼叫或短信请求以进行用户状态确认。这里存在的问题是,我们可以更改其中的预录式呼叫确认方式,实现对用户注册绑定手机号码的更改。危害是由于可以不通过短信验证码,很多骗子可以利用该漏洞,绕过电话身份验证,创建欺诈账户。
我们上报漏洞后,刚开始PayPal的安全团队还是比较重视的,但是经过几次沟通交流,他们干脆就不回复了。现在的情况是,PayPal直接把该漏洞报告关闭了。
为了避免欺诈和其它恶意行为,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却声称,由于这需要与其它漏洞配合才能产生实际威胁,因此不属众测范围之内。
默认来说,针对用户名更改,PayPal只允许用户一次更改其中的1-2个字母,之后就不能再更改了。但是,我们发现,在当前PayPal.com网站应用中,我们可以更改完整的用户名,比如下面的从“Tester IAmTester” 更改为“christin christina”
我们通过拦截用户名更改请求,每次替换其中的1-2个字母,可以无需任何验证就可实现完整的用户名更改,甚至可以在用户名字段中加入表情标志等unicode符号。漏洞危害是,如果攻击者可进行任意的用户名更改,那么会与,如果与漏洞1(登录后的PayPal双因素认证(2FA)绕过)配合利用,可劫持其他重名PayPal。漏洞提交后,PayPal回应称该漏洞已有其他白帽上报过,属于重复报。
在PayPal的自助聊天系统SmartChat中,用户可以找到一些通常问题的答案,我们研究发现SmartChat对用户输入缺乏验证,可以在聊天框中提交一些程序脚本,导致可以解析出程序按钮或框架。
我们可以用中间人攻击MITM代理对上述网络流量进行抓包拦截,在其中附加进恶意构造的Payload,深入攻击可获取受害者账户信息。PayPal对该漏洞的回应是,这不是一个外部可利用的漏洞,所以不算安全问题,最后漏洞分类为“不适用”(Not Applicable)。
该漏洞与漏洞5类似,原因在于PayPal未对安全问题的用户输入答案实施过滤,导致存在XSS,我们可以使用MITM代理对其抓包构造,实现XSS触发。下图为我们向其中注入了大量可点击的链接:
漏洞危害是,攻击者可以在其中嵌入以下链接:
提示“Download the new PayPal app” 的恶意APP下载链接; 更改转账收款人的邮箱地址; 对受害者进行键盘记录监听收集*信息。
PayPal对该漏洞的回应称已有其他安全人员提交过该漏洞,而就在同一天,PayPal对该漏洞进行了修复。
Cybernews阐述攻击者的以下攻击场景为:
在黑市买到包含PayPal账户密码凭据的信息,比如这里能以$150美金买到一个价值$5,000的PayPal账户; 使用漏洞1绕过PayPal的登录后2FA认证; 使用漏洞3绕过转账安全措施,可以从账户绑定的*实施转账 攻击者还可以使用漏洞1绕过登录后2FA认证,再使用漏洞4更改其账户持有者的PayPal用户名。
对于攻击者和骗子来说,他们会有更多的动机和方式来对这些漏洞进行利用,然而但对PayPal本身来说,他们却认为这些都不是问题。
*参考来源:cybernews,clouds 编译整理,转载请注明来自 FreeBuf.COM
精彩推荐