目录
摘要
在移动互联网飞速发展的当下,移动 Web 安全的重要性愈发凸显。《白帽子讲 Web 安全》对移动 Web 安全进行了详细阐述,为我们揭开了这一领域的神秘面纱。
一、WebView 简介
WebView 是移动端(如 Android、iOS)用于嵌入网页的核心,显示网页内容的组件允许开发者在原生应用中嵌入网页,实现混合应用开发,,允许应用内直接加载 Web 内容。其本质是一个轻量级浏览器,但默认安全配置较弱,容易成为攻击入口。
在 Android 系统中,WebView 基于 Chromium 内核,能加载并渲染 HTML、CSS 和 JavaScript 代码。
例如,许多新闻类应用通过 WebView 加载网页形式的新闻详情,电商应用利用 WebView 展示商品介绍页面等。它为开发者提供了便捷的方式,将 Web 技术与原生应用相结合,丰富应用功能和用户体验。
二、WebView 对外暴露
WebView 对外暴露的接口风险
WebView 对外暴露存在诸多安全隐患。由于 WebView 可以执行 JavaScript 代码,若应用对 WebView 的使用缺乏严格管控,恶意代码可能会利用 WebView 的漏洞进行攻击。
JavaScript 接口暴露:开发者可能通过
addJavascriptInterface方法将本地 Java 对象暴露给 WebView 中的 JavaScript 代码。若未严格过滤输入,攻击者可利用反射机制调用敏感系统 API(如发送短信、读取文件)。
案例:
1.某应用通过 WebView 调用 getUserInfo() 接口时,未校验调用来源,导致恶意网页可窃取用户数据。
2.攻击者可能通过构造恶意网页,在 WebView 加载该网页时,利用 JavaScript 代码获取应用内的敏感信息,如用户登录凭证、个人资料等。此外,若 WebView 被配置为允许执行任意来源的 JavaScript,攻击者还可能通过注入恶意脚本,控制 WebView 的行为,进而对整个应用造成损害。
三、通用型 XSS - Universal XSS 介绍
通用型 XSS(UXSS)是一种严重的安全漏洞。它不同于传统的 XSS(跨站脚本攻击),不受限于特定的网站或应用,而是能够在广泛的环境中利用 WebView 的漏洞进行攻击。
2022 年,Android 的 WebView 爆出 UXSS 漏洞,这一漏洞影响范围广泛。攻击者利用该漏洞,可通过精心构造的恶意网页,在用户使用搭载存在漏洞 WebView 的 Android 设备访问时,执行任意 JavaScript 代码。这意味着攻击者能够突破应用的安全边界,获取设备信息、篡改应用数据,甚至可能控制设备,对用户隐私和设备安全构成极大威胁。
防御措施
- 及时更新 WebView 内核:使用最新 Chromium 内核的 WebView 版本,修复已知漏洞。
- 禁用危险 API:如限制
eval()函数、避免动态执行未签名脚本。
四、WebView 跨域访问
| 关键配置方法 | 默认值 | 作用与风险场景 |
|---|---|---|
| setA |

最低0.47元/天 解锁文章
1605

被折叠的 条评论
为什么被折叠?



