android webview 劫持,安卓包风险安全监测提示存在Activity劫持、WebView远程代码执行,请问怎么解决?...

挺着急的,请问这个怎么解决

1、Activity劫持

用例名称:Activity劫持

风险系数:高

风险编号:NESUN-2016-82091, CWE-94,

风险描述:攻击者劫持目标Activity并制造跟目标Activity界面相似度很高的界面迷惑用户,可能导致钓鱼攻击,造成用户名/密码等敏感信息泄露。

检测过程:

1、对被测APP进行测试预处理。

2、在测试助手上安装、运行被测APP。

3、动态追踪目标APP的Activity状态,实时构建Activity转换图。

4、遍历Activity转换图进行插桩劫持,追踪分析客户端被劫持后的响应,发现被测系统能够被成功劫持。

Activity 劫持成功!被劫持的Activity为:io.dcloud.PandoraEntryActivity

修复建议:

目前还没有什么专门针对Activity劫持的防护方法,因为这种攻击是用户层面上的,目前还无法从代码层面上根除。

但是我们可以适当的在APP中给用户一些警示信息,提示登录或关键界面已被覆盖,具体解决方案如下:

在APP的Activity界面(也就是MainActivity)中重写onKeyDown方法和onPause方法,当其被覆盖时,就能够弹出警示信息。判断程序进入后台是不是由用户自己触发的(触摸返回键或HOME键),如果是用户自己触发的则无需弹出警示,否则弹出警示信息。

2、WebView远程代码执行

用例名称:WebView远程代码执行

风险系数:高

风险编号:NESUN-2016-82035, CVE-2012-6636, CNNVD-201403-027, CWE-264, OWASP Mobile Top 10 2016 M7

风险描述:Android系统通过WebView.addJavascriptInterface方法注册可供JavaScript调用的Java对象,以用于增强JavaScript的功能。但是系统并没有对注册Java类的方法调用的限制。导致攻击者可以利用反射机制调用未注册的其它任何Java类,最终导致JavaScript能力的无限增强。攻击者利用该漏洞可以根据客户端能力实现远程任意代码执行攻击。 WebView 远程代码执行漏洞触发前提条件: 1)使用addJavascriptInterface方法注册可供JavaScript调用的Java对象; 2)使用WebView加载外部网页或者本地网页; 3)Android系统版本低于4.2。

检测过程:

1、基于深度静态检测技术DSAST进行破壳/逆向分析等获取客户端程序Java源文件。

2、对构成源程序的字符流进行扫描,通过词法分析,生成相关符号列表。

3、进行语法分析,整理成语法树,通过抽象语法树分析,将程序组织成树形结构,构造Java类和函数库。

4、进行语义分析,生成函数调用关系图,依据漏洞特征,遍历Java类和函数库,发现存在WebView远程代码执行的可能,具体表现为使用addJavascriptInterface接口。

相关文件名/行:

classes.dex

相关程序代码段如下:

在 com.tencent.bugly.yaq.crashreport.CrashReport$1 内部类的 public final addJavascriptInterface(Lcom/tencent/bugly/yaq/crashreport/crash/h5/H5JavaScriptInterface;Ljava/lang/String;)V 方法,使用了函数 Landroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V

修复建议:

1、在客户端启动时检测Android版本,如果是Android4.2及以下版本则提示用户或者退出。

2、使用addJavascriptInterface接口时,

用以下方式增强安全性:

1) 使用HTTPS协议加载URL,应进行证书校验防止访问的页面被篡改挂马;

2) 使用HTTP协议加载URL,应进行白名单过滤、完整性校验等防止访问的页面被篡改;

3) 加载本地Html,应将html文件内置在APK中,以及进行对html页面完整性的校验 。

3、不需使用时可通过以下方式移除Javascript接口:

removeJavascriptInterface(""searchBoxJavaBridge_"");

removeJavascriptInterface(""accessibility"");

removeJavascriptInterface(""accessibilityTraversal"")。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫获取url_Python爬虫如何获取页面内所有URL链接?本文详解

如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL。什么是Beautiful Soup? Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索…

iview table增加一行减少一行_PQ入门函数:Table.ReplaceValue

一、基础介绍Table.ReplaceValue函数的官方说明如下:Table.ReplaceValue(table as table, oldValue as any, newValue as any, replacer as function, columnsToSearch as list)该函数实现的功能是将Table中的值替换成新值,语法翻译成汉语大致如下&#…

android so文件崩溃,android 7.0 因为.so文件而崩溃事件解决

菜鸟进场,方圆十里,寸草不生现在基本都在用第三方的分享,但是不知道为什么,脑残的准备自己集成微博的第三方分享,本来一路躺坑都过来了,不过遇到一个奇葩的问题,软件在android N上会崩溃&#x…

gprs模块ftp 远程升级_基于GPRS无线通信技术的冷链监测系统

GPRS(general packet radio service)是通用分组无线业务的简称,该技术建立在GSM网络的基础上,被称为2.5 代移动通信技术,它将无线通信与Internet 紧密结合。基于GPRS的远程数据采集系统是通过中国移动的GPRS无线通信网…

小米登录协议分析_联想前副总裁常程跳槽小米数月后,波澜再起

► 文 观察者网 吕栋今年初,联想集团前副总裁常程离职2天即加盟小米,这一举动是否违反竞业协议,双方当时曾各执一词。最近,由于联想方面在北京提起劳动仲裁,此事也再度引发舆论关注。9月21日,针对“联想与…

html播放rtmp直播流,video.js实现浏览器播放rtmp协议直播流的问题

<!DOCTYPE html><html><head><meta charset"UTF-8"><title>使用video.js实现rtmp流的直播播放</title><!--引入播放器样式--><link href"http://vjs.zencdn.net/5.19/video-js.min.css" rel"stylesheet…

plsql打开sql窗口快捷键_巧用Navicat for MySQL的快捷键

php中文网最新课程每日17点准时技术干货分享巧妙地使用 Navicat for MySQL 快捷键&#xff0c;可以大大提高工作效率&#xff0c;本篇经验将分类介绍Navicat for MySQL快捷键。ctrlq 打开查询窗口ctrl/ 注释sql语句ctrlshift / 解除注释ctrlr 运行查询窗口的sql语句ctrlshiftr …

值从哪里来_Linux used内存到底去哪里了呢?

Linux used内存到底去哪里了呢&#xff1f;阅读文章之前请先思考这么个问题我ps aux看到的RSS内存只有不到30M&#xff0c;但是free看到内存却已经使用了7,8G了&#xff0c;已经开始swap了&#xff0c;请问ps aux的实际物理内存统计是不是漏了哪些内存没算&#xff1f;我有什么…

html文本最小长度,CSS中处理不同长度文本的几种小技巧

CSS中处理不同长度文本的几种小技巧【推荐教程&#xff1a;CSS视频教程 】当我们使用 CSS 构建布局时&#xff0c;考虑长短文本内容很重要&#xff0c;如果能清楚地知道当文本长度变化时需要怎么处理&#xff0c;可以避免很多不必要的问题。在许多情况下&#xff0c;添加或删除…

python将列表中反序输出_python中sorted怎么反序排列

2017-10-30 回答 【python】 sorted函数 我们需要对list、dict进行排序&#xff0c;python提供了两个方法 对给定的list l进行排序&#xff0c; 方法1.用list的成员函数sort进行排序&#xff0c;在本地进行排序&#xff0c;不返回副本 方法2.用built-in函数sorted进行排序&…

matlab 判断鼠标按下_Simulink(其他校验模块)+Matlabgui(鼠标响应事件)+Stateflow汽车运动逻辑状态(二)...

1 SimulinkSimulink-其他校验模块 如下图所示为一些其他的校验模块&#xff0c;分别为声明模块&#xff0c;离散梯度模块&#xff0c;输入分辨率检测模块&#xff1b;声明模块&#xff1a;当输入值非零时检测通过&#xff0c;当输入值中包含有0时&#xff0c;检测模块报错。…

鸿蒙电脑操作系统最新消息,5G专家预测:7年后鸿蒙将成全球第一大操作系统

在公布两年之后&#xff0c;华为的鸿蒙系统历尽千难万险&#xff0c;蓄势待发&#xff0c;即将在6月2日的线上发布会上正式发布。对于鸿蒙的前景&#xff0c;通信行业的 5G 专家项立刚在接受采访中&#xff0c;在谈到对鸿蒙的看法时&#xff0c;他表示他相信 7 年后鸿蒙会成为全…

vivado顶层模块怎么建_【第2040期】Node 模块化之争:为什么 CommonJS 和 ES Modules 无法相互协调...

前言又到周五了。今日早读文章由Shopee周雨楠翻译授权分享。周雨楠&#xff0c;Shopee金融事业群前端研发&#xff0c;自主学习前端技术3年&#xff0c;喜爱各类数字媒体技术、创意设计&#xff0c;多次参与翻译工作。福利&#xff1a;有两张门票&#xff0c;有需要的跟情封联系…

centos7 转换为lvm_(建议收藏)CentOS7挂载未分配的磁盘空间以及LVM详细介绍

简述本文主要介绍CentOS7下如何挂载未分配磁盘空间的详细操作步骤。LVMLVM&#xff0c;逻辑卷管理&#xff0c;英文全称Logical Volume Manager&#xff0c;是Linux环境下对磁盘分区进行管理的一种机制。是在硬盘分区和文件系统之间添加的一个逻辑层&#xff0c;为文件系统屏蔽…

基于python的图书管理系统测试步骤_Django admin实现图书管理系统菜鸟级教程完整实例...

Django 有着强大而又及其易用的admin后台,在这里,你可以轻松实现复杂代码实现的功能,如搜索,筛选,分页,题目可编辑,多选框. 简单到,一行代码就可以实现一个功能,而且模块之间耦合得相当完美. 不信,一起来看看吧!?用Django实现管理书籍的系统,并能在前台界面对书籍进行增删查改…

c# image转换为bitmap_Python PIL.Image与numpy.array之间的相互转换

前言有时我们使用PIL库读入图像数据后需要查看图像数据的维度&#xff0c;比如shape&#xff0c;或者有时我们需要对图像数据进行numpy类型的处理&#xff0c;所以涉及到相互转化&#xff0c;这里简单记录一下。方法当使用PIL.Image.open()打开图片后&#xff0c;如果要使用img…

计算机网络互联设备功能,计算机网络互联设备简介

一、网卡v 网络适配器&#xff0c;俗称网卡(NIC&#xff0c;Network InterfaceCard 或 Ethernet network card ) 原理&#xff1a;• 工作在OSI/RM中数据链路层的设备– 是局域网接入设备&#xff0c;单机与网络间架设的桥梁 特征&#xff1a;• MACaddress&#xff1a;– uniq…

python求两数之和的命令_python计算两个数的百分比方法

工作中遇到了要计算两个数百分比的问题&#xff0c;python 2.7 环境。 代码&#xff1a; #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculator.py num1 num2 import sys asys.argv[1] afloat(a) bsys.argv[2] bfloat(b) print "%.2f%%" % (a/b*1…

安全使用计算机事例,计算机安全案例分析.ppt

您所在位置&#xff1a;网站首页 > 海量文档&nbsp>&nbsp资格/认证考试&nbsp>&nbsp安全工程师考试计算机安全案例分析.ppt35页本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。下载提示1.本站不保证该用户上传的文档完整性&#…

bootstrap外不引用连接_网络编程Netty IoT百万长连接优化,万字长文精讲

IoT是什么The Internet of things的简称IoT&#xff0c;即是物联网的意思IoT推送系统的设计比如说&#xff0c;像一些智能设备&#xff0c;需要通过APP或者微信中的小程序等&#xff0c;给设备发送一条指令&#xff0c;让这个设备下载或者播放音乐&#xff0c;那么需要做什么才…