关键信息 漏洞编号: CVE-2024-43201 受影响的公司: Planet Fitness 漏洞描述: iOS和Android版本的Planet Fitness应用程序未正确验证SSL证书(或未验证)。 应用程序接受自签名证书,因为验证似乎完全被禁用。 在使用过程中,应用程序泄露用户的 bearer auth token、PII、健康数据和部分财务信息。 token允许通过API完全访问用户的账户,有效期为24小时,并可以用于获取新token。 漏洞影响: 影响了iOS和Android应用程序版本,时间范围为2024年7月25日之前。 漏洞可能已经存在了很长时间。 通过各种电子邮件地址联系Planet Fitness,但未能收到回复。 最终在2024年5月底收到回复,应用程序在2024年7月修复。 漏洞利用: 攻击者使用MITM攻击拦截到“.planetfitness.com”和“planetfitness.auth0.com”的流量。 通过创建恶意WiFi SSID并诱骗用户连接到它们,或使用ARP欺骗等攻击。 漏洞影响: 攻击者可以完全访问会员的账户,用户凭据(如果用户登录)并可以更改应用程序中呈现的任何信息。 除了泄露OAuth/JWT令牌外,应用程序还泄露个人数据,包括PII、健康、访问历史和部分财务信息。 攻击者可以通过修改网络流量,在应用程序中注入文本、图片和链接。 敏感数据类别: PII: 名称、性别、地址、出生日期、电话、电子邮件、会员号码、家庭健身房、邀请客人姓名 部分财务信息: 银行名称、账户所有人、完整路由代码、账户号码的最后4位、账户类型、账单日期、账单金额 健康相关信息(如果由用户提供): 身高、体重、健身目标、体验水平 测试设置: 创建WiFi接入点并连接我们的库存Android手机和iPhone到它。 通过Linux机器路由所有流量。 对于每个连接,尝试呈现无效证书。 对于失败的连接,转发流量。 通过积累可以利用的连接列表和需要转发的未篡改连接列表,自动化过程。 使用工具CertMITM(由Aapo Oksman)自动化过程。 潜在原因:** 虽然没有从Planet Fitness获得官方回复,但假设应用程序的开发人员可能忘记启用SSL检查(或故意禁用)。 这是开发环境中的常见情况,例如当API尚未公开或正确签名的证书不存在时。 当应用程序进入生产环境时,不安全的设置未被发现。 大多数渗透测试公司和自动化测试案例仅测试如果流量是加密的且TLS被使用(这是情况)。 正确的证书验证测试需要更多的努力,可能已经被忽视,因为大多数开发人员依赖于使用的SSL库。