任意版本界面劫持

本文详细介绍了Android界面劫持的攻击方式,包括如何实施界面劫持和钓鱼攻击。针对Android5.0以上系统无法进行界面劫持的问题,作者分析了原因,并提出使用UsageStatsManager在Android5.0及以上版本进行界面劫持的方法。此外,还提供了防止界面劫持的修复建议,如重写onKeyDown和onPause方法来检测Activity是否被覆盖。
摘要由CSDN通过智能技术生成

任意版本界面劫持

界面劫持攻击分为界面劫持和钓鱼攻击两部分。恶意程序会对目标应用的客户端进行监控,当应用客户端程序调用Acitivity组件显示 窗口,且该窗口界面组件是恶意程序预设的攻击对象,恶意程序就会立即启动自己的仿冒界面使之替换或覆盖在客户端程序界面之上,这就是界面劫持。恶意攻击者在发动界面劫持后,用户所面对并操作的其实已经是被替换后的仿冒页面,这意味着用户在毫无察觉的情况下将自己的账号、密码等信息输入到了仿冒界面中,这些数据最终会返回到恶意程序的服务器里,这个过程便是钓鱼攻击。
我们安卓APP检测本身就有界面劫持的检测项目,检查是否存在Activity界面劫持,确认app是否能够发现被劫持并提示用户。具体的效果检测如下:
(这里我们使用的工具是一个专门用来进行界面劫持的工具ActivityHijack.apk)
在这里插入图片描述在这里插入图片描述
但是在检测中发现了一个特殊的问题,就是这款工具,针对于Android5.0版本以下的系统可以轻松的对app进行界面劫持,但是针对于Android5.0版本以上的系统根本无法对任何app进行劫持。所以本文章就针对于该问题进行讲解,并实现无论任何版本进行界面劫持。
界面劫持的原理:
首先Activity相当于一个与用户交互的界面。而Activity的调度是交由Android系统中的ActivityManagerService

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值