Alipay DeepLink/JSBridge CVE PoC

iOS Safari Verification | MITRE Ticket #2005801

Innora AI Security Research | 2026-03-16

iOS Safari 录屏验证步骤

开始iOS录屏(控制中心 → 录屏按钮)

确认已安装支付宝(任意版本均可)

逐个点击下方按钮,每个按钮对应一个CVE

支付宝自动打开 → 观察WebView中的结果

若出现拦截页面,点击"继续访问"

返回Safari → 测试下一个CVE

重要说明:此PoC仅在已安装支付宝的设备上生效。点击按钮后支付宝会自动打开。 所有测试均为安全研究目的,不会修改任何数据。tradePay测试使用无效订单号,不会产生真实扣款。

CVE-1: DeepLink URL Scheme 绕过 CVSS 9.1

CWE-939 | MITRE Ticket #2005801

外部浏览器通过 alipays:// 直接打开支付宝内部页面,无需任何认证。证明 SchemeServiceImpl.process(Uri) 不验证来源。

Test 1A: 加载外部URL到WebView Test 1B: 直接打开联系人页面 Test 1C: 直接打开账单页面 Test 1D: 直接打开扫码器

CVE-2: GPS静默外泄 CVSS 7.4

CWE-359 | iOS关键测试

通过DeepLink加载的外部页面调用 getLocation JSAPI,静默获取GPS坐标。iOS如果之前授权过支付宝定位,无需再次弹窗。

Test 2: GPS定位外泄测试

CVE-3: tradePay未授权支付调用 CVSS 8.6

CWE-940 | 支付安全

外部加载的页面调用 tradePay JSAPI 可触发真实支付对话框。使用无效订单号,不会产生真实扣款。

Test 3: tradePay支付调用测试

CVE-4: UI欺骗 (setTitle/showToast) CVSS 8.1

CWE-451 | UI安全

攻击者页面可修改支付宝原生标题栏和弹出系统级Toast,实现钓鱼攻击。用户会以为是支付宝官方提示。

Test 4: 标题栏+Toast欺骗测试

CVE-5: 端到端数据外泄链 CVSS 8.6

CWE-200 | 数据泄漏

组合CVE-2+3+4,单页面同时调用多个JSAPI收集GPS、设备信息、触发支付、伪造UI,演示完整攻击链。

Test 5: 完整攻击链测试

CVE-6: ds.alipay.com 白名单绕过 CVSS 9.3

CWE-601 + CWE-939 | 绕过防护

ds.alipay.com在白名单中(stripLandingConfig),其开放重定向功能可将用户导向任意URL,绕过域名校验。

Test 6A: ds.alipay.com重定向链 Test 6B: 直接DeepLink (对照组)
录屏要点:
1. 每个测试前确保Safari地址栏可见(证明从外部浏览器触发)
2. 如果出现"是否打开支付宝"弹窗,点击"打开"
3. 如果出现安全拦截页面,截图后点击"继续访问"
4. 注意观察WebView中显示的结果信息
Authorized Security Research — Innora AI Security Team
MITRE Ticket #2005801 | feng@innora.ai
PoC hosted at innora.ai via Cloudflare HTTPS
2026-03-16