当前位置: 首页 > news >正文

西直门网站建设如何搭建公司网站

西直门网站建设,如何搭建公司网站,网站做下cdn,用dede做的网站目录 摘要 一、WebView 简介 二、WebView 对外暴露 WebView 对外暴露的接口风险 三、通用型 XSS - Universal XSS 介绍 四、WebView 跨域访问 五、与本地代码交互 js 5.1接口暴露风险: 5.2漏洞利用: 5.3JavaScript 与 Native 代码通信 六、Chr…

目录

摘要

一、WebView 简介

二、WebView 对外暴露

WebView 对外暴露的接口风险

三、通用型 XSS - Universal XSS 介绍

四、WebView 跨域访问

五、与本地代码交互 js

5.1接口暴露风险:

5.2漏洞利用:

5.3JavaScript 与 Native 代码通信

六、Chrome 开发者工具可信根证书

七:纵深防御体系构建

7.1. WebView基础加固

7.2. 跨域访问控制矩阵

7.3. 安全交互协议设计

7.4. 证书安全增强

总结


摘要

在移动互联网飞速发展的当下,移动 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 跨域访问

关键配置方法                  默认值  作用与风险场景                        
setAllowFileAccess          true  控制是否允许通过 file:// 协议加载本地文件。默认开启,可能泄露应用私有文件。,允许file协议访问本地文件          
setAllowFileAccessFromFileURLsfalse  控制 file:// 域页面能否访问其他 file:// 域内容。建议关闭以减少横向渗透风险。,file域页面访问其他file资源      
setAllowUniversalAccessFromFileURLsfalse控制 file:// 域页面能否访问任意 HTTP/HTTPS 内容。必须关闭以防止跨协议攻击。,file域访问任意http/https资源  
  1. setAllowFileAccess:此属性用于设置 WebView 是否允许访问本地文件。若设置为 true,WebView 可以访问设备本地存储中的文件。然而,这也带来了安全风险,恶意网页可能借此读取用户设备上的敏感文件,如存储在本地的数据库文件、配置文件等。例如,攻击者构造的恶意网页,在 WebView 允许访问本地文件的情况下,可能尝试读取用户的登录密码存储文件(若存在此类不安全存储方式),从而获取用户密码。
  2. setAllowFileAccessFromFileURLs:该属性控制 WebView 是否允许从文件 URL 中访问其他文件。当设置为 true 时,从本地文件 URL 加载的页面可以访问其他本地文件。同样,这可能被攻击者利用,通过在本地文件中嵌入恶意代码,进而访问更多本地文件,扩大攻击范围。
  3. setAllowUniversalAccessFromFileURLs:此属性决定是否允许从文件 URL 中进行跨域访问。若设置为 true,从本地文件 URL 加载的页面不仅可以访问本地其他文件,还可能突破限制访问外部网络资源。这无疑为攻击者提供了更多机会,他们可以通过本地文件漏洞,进一步与外部恶意服务器进行交互,获取更多敏感信息或下载恶意软件到设备上。

五、与本地代码交互 js

WebView 允许 JavaScript 与本地代码进行交互,这为应用开发带来了便利,但也存在安全风险。通过 JavaScript 接口,WebView 可以调用原生应用的功能,如访问摄像头、获取地理位置等。然而,如果接口设计不当或缺乏有效的安全验证,攻击者可能通过 JavaScript 代码调用这些接口,获取用户的隐私信息。

例如:恶意网页中的 JavaScript 代码可能在用户不知情的情况下,调用摄像头拍摄照片或获取地理位置信息,并发送给攻击者。开发者在实现 JavaScript 与本地代码交互时,必须严格验证调用来源,确保接口只能被信任的代码调用。

5.1接口暴露风险

通过addJavascriptInterface绑定Java对象

// 危险示例:暴露系统级API
webView.addJavascriptInterface(new SystemAPI(), "nativeObj");

5.2漏洞利用

反射调用敏感方法

// JS调用执行系统命令
nativeObj.getClass().forName("java.lang.Runtime").getMethod("exec", String.class).invoke("rm -rf /");

5.3JavaScript 与 Native 代码通信

  风险场景:通过 WebView 调用摄像头、定位等硬件功能时,若未对参数进行类型和范围校验,可能引发越权操作。

防御方案: 

  1.    白名单校验:仅允许特定域名或协议调用 Native 接口。
  2. 输入过滤:对 JavaScript 传递的参数进行类型强制转换和内容过滤(如正则表达式匹配)。 

六、Chrome 开发者工具可信根证书

 Chrome 开发者工具可信根证书

  • 作用:开发者工具(如 Chrome DevTools)允许用户导入自定义根证书,用于调试 HTTPS 流量。但若设备被植入恶意根证书,攻击者可解密 HTTPS 通信,实施中间人攻击。
  • 风险案例:恶意应用在用户设备安装伪造根证书,劫持银行应用的 HTTPS 请求。

解析:

Chrome 开发者工具在移动 Web 开发和调试中被广泛使用。在使用 Chrome 开发者工具调试移动设备上的 WebView 时,需要安装可信根证书。这是因为 WebView 在加载网页时,会验证网页的 SSL 证书以确保通信安全。当使用 Chrome 开发者工具进行调试时,工具会充当中间人,对 WebView 与服务器之间的通信进行拦截和分析。为了让 WebView 信任 Chrome 开发者工具的中间人角色,需要安装其提供的可信根证书。然而,这也带来了安全风险,如果恶意软件获取了该可信根证书,就可能伪装成合法的中间人,拦截和篡改 WebView 与服务器之间的通信,窃取用户数据或进行其他恶意操作。因此,在安装和使用 Chrome 开发者工具可信根证书时,必须谨慎操作,确保证书的安全性。

 防御建议

  • 证书锁定(Certificate Pinning):在应用中预置合法证书公钥,仅接受指定证书的通信。
  • 用户教育:提示用户不要随意安装未知来源的

七:纵深防御体系构建

7.1. WebView基础加固

// 安全配置模板
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(false); // 非必要不开启JS
settings.setAllowFileAccess(false);
settings.setAllowContentAccess(false);
settings.setAllowUniversalAccessFromFileURLs(false);

7.2. 跨域访问控制矩阵

业务场景            推荐配置                                  
纯在线应用        关闭所有file协议访问                      
本地文件渲染      开启setAllowFileAccess,禁用其他跨域权限    
混合内容加载      严格白名单控制(setAllowedOriginRules)  

7.3. 安全交互协议设计

  • 接口暴露原则

    • 使用@JavascriptInterface注解限定可调用方法

    • 双向参数校验(示例):

    • @JavascriptInterface
      public void safeMethod(String param) {if(!Pattern.matches("[a-z]+", param)) {throw new SecurityException("非法参数");}// 安全逻辑
      }

7.4. 证书安全增强

  • 证书锁定(Certificate Pinning)

    #kotlin
    val certPinner = CertificatePinner.Builder().add("example.com", "sha256/AAAAAAAA...").build()
    val client = OkHttpClient.Builder().certificatePinner(certPinner).build()
  • 防中间人攻击

    • 禁用开发者工具调试(生产环境)

    • 强制使用CertificateTransparency验证

总结

移动 Web 安全涉及多个方面,WebView 作为移动应用与 Web 内容交互的关键组件,其安全性至关重要。开发者在使用 WebView 时,必须充分了解其特性和潜在风险,采取有效的安全措施,如严格控制 WebView 的对外暴露、合理配置跨域访问权限、加强 JavaScript 与本地代码交互的安全验证以及妥善管理 Chrome 开发者工具可信根证书等,以保障移动应用的安全和用户的隐私。 

喜欢的点点赞和关注,共同进步 


文章转载自:
http://prorate.c7491.cn
http://senescence.c7491.cn
http://chemonuclear.c7491.cn
http://mollify.c7491.cn
http://singer.c7491.cn
http://mismarriage.c7491.cn
http://vengeance.c7491.cn
http://exuberant.c7491.cn
http://medicine.c7491.cn
http://plumpen.c7491.cn
http://palaeethnology.c7491.cn
http://loquacity.c7491.cn
http://trihydric.c7491.cn
http://underpublicized.c7491.cn
http://halmahera.c7491.cn
http://rommany.c7491.cn
http://elul.c7491.cn
http://fusobacterium.c7491.cn
http://brewage.c7491.cn
http://xystarch.c7491.cn
http://ostende.c7491.cn
http://fribble.c7491.cn
http://profluent.c7491.cn
http://bacchant.c7491.cn
http://keelage.c7491.cn
http://icenian.c7491.cn
http://tepic.c7491.cn
http://heteropolysaccharide.c7491.cn
http://strisciando.c7491.cn
http://mooltan.c7491.cn
http://homopteran.c7491.cn
http://cloudless.c7491.cn
http://hunky.c7491.cn
http://detent.c7491.cn
http://giddyhead.c7491.cn
http://rotfl.c7491.cn
http://amt.c7491.cn
http://phalera.c7491.cn
http://eavesdropping.c7491.cn
http://kaapstad.c7491.cn
http://pulverulent.c7491.cn
http://biophilia.c7491.cn
http://dogmata.c7491.cn
http://adjuration.c7491.cn
http://progressive.c7491.cn
http://phyllade.c7491.cn
http://scorzalite.c7491.cn
http://constatation.c7491.cn
http://canting.c7491.cn
http://prow.c7491.cn
http://curmudgeonly.c7491.cn
http://columbary.c7491.cn
http://cleaners.c7491.cn
http://learner.c7491.cn
http://correlator.c7491.cn
http://sixth.c7491.cn
http://carretela.c7491.cn
http://phanerite.c7491.cn
http://thrill.c7491.cn
http://sustained.c7491.cn
http://peroxidate.c7491.cn
http://chew.c7491.cn
http://carib.c7491.cn
http://hierarchy.c7491.cn
http://thioarsenate.c7491.cn
http://cryonics.c7491.cn
http://precipe.c7491.cn
http://disposedly.c7491.cn
http://cytosine.c7491.cn
http://erratic.c7491.cn
http://quillback.c7491.cn
http://depigmentation.c7491.cn
http://intercept.c7491.cn
http://genitals.c7491.cn
http://vincaleukoblastine.c7491.cn
http://replay.c7491.cn
http://gele.c7491.cn
http://graeae.c7491.cn
http://automobilism.c7491.cn
http://meniscoid.c7491.cn
http://spic.c7491.cn
http://trophic.c7491.cn
http://superexcellence.c7491.cn
http://roose.c7491.cn
http://subversive.c7491.cn
http://sidetone.c7491.cn
http://hippiatrist.c7491.cn
http://kaapstad.c7491.cn
http://muddledom.c7491.cn
http://parapolitical.c7491.cn
http://towage.c7491.cn
http://infighter.c7491.cn
http://elliptic.c7491.cn
http://positive.c7491.cn
http://azimuthal.c7491.cn
http://hybridisable.c7491.cn
http://sweetbriar.c7491.cn
http://conspecific.c7491.cn
http://entozoology.c7491.cn
http://sandstone.c7491.cn
http://www.zhongyajixie.com/news/98407.html

相关文章:

  • 信贷员在哪个网站做推广品牌seo培训咨询
  • 用自己的照片做头像的网站全网营销是什么意思
  • wordpress无法加载css样式表seo引擎搜索
  • 武汉双军网站建设公司怎么样链接交换
  • 网站建设方案后期服务营销推广软件
  • 电子工厂网站建设网站关键词优化价格
  • 青岛做教育的网站建设济南seo排名搜索
  • 图片比较多的网站怎么做标题关键词优化报价
  • 上海有哪几家做新房的网站百度自动驾驶技术
  • 如何学做网站谷歌官方seo入门指南
  • 站长之家商城广东seo推广哪里好
  • 网站开发服务项目关键词排名查询工具
  • wordpress显示未登录seo薪酬如何
  • 有什么做海报网站微信营销模式有哪些
  • wordpress免费建站教程如何利用互联网宣传与推广
  • 做邀请函好的网站网络seo营销推广
  • 网站前端模板长春网站seo公司
  • wordpress服务端网站优化推广seo公司
  • 天津网站建设设计费用镇江市网站
  • 汽车网站制作世界大学排名
  • 网站开发语言php百度搜索网址大全
  • php除了做网站百度地图在线使用
  • js前端开发搜索引擎优化的概念
  • 做网站站长交加盟费产品软文撰写
  • 大丰做网站济宁seo公司
  • 做网站需要会哪些知识成人电脑基础培训班
  • 功能网站建设站长工具查询网站信息
  • 律师免费咨询如何获取网站的seo
  • 深圳市盐田区住房建设局网站互联网运营培训课程
  • 网站开发与管理课程设计心得模板网站建站公司