android怎么网络劫持,Android安全——Activity劫持

本文介绍了Android系统中Activity劫持的概念,通过一个实例展示了如何利用开机启动的Service和计时器监控其他进程,一旦检测到目标应用启动,就启动伪装的登录界面来窃取用户凭证。该文揭示了Android安全问题的一个方面,并提醒开发者注意应用的安全防护。
摘要由CSDN通过智能技术生成

一、activity劫持简介

DEFCON-19上公布的https://www.trustwave.com/spiderlabs/advisories/TWSL2011-008.txt

android运行时,会在很多activity中进行切换,它自身维护着一个activity的历史栈,用于在用户点击back时,恢复前一个activity,栈顶指向当前显示的activity。

http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

在我们使用intent开启activity时,intent有一个选项FLAG_ACTIVITY_NEW_TASK,可以使得这个activity位于栈顶

http://developer.android.com/reference/android/content/Intent.html

#FLAG_ACTIVITY_NEW_TASK

如果我们注册一个receiver,响应android.intent.action.BOOT_COMPLETED,使得开启启动一个service;这个service,会启动一个计时器,不停枚举当前进程中是否有预设的进程启动,如果发现有预设进程,则使用FLAG_ACTIVITY_NEW_TASK启动自己的钓鱼界面,截获正常应用的登录凭证。

二、实例

androidmanifest.xml

7506d24588f9bd0ebcb4c61e9550fef6.png

857a8de09ebd3cec70a8359ef0b5d7ad.png

HijackReceiver.java用于开机启动HijackService

ea502011bfc073ae12e3ad392c939fc0.png

HijackService.java用于判断正常应用是否启动,如果启动则开启劫持activity

803ec104c374b00ab727b98c8dce2ad6.png

bdc2bb375b403f8c8e44f6e179e9d55c.png

62ceab7b5eb794df82818b7263f5c2ca.png

07fca389d885f2069ff79a6aadc703aa.png

AlipayLogin.java是伪造的界面,用于获取用户凭证并发送到指定地址,并返回正常应用

9de2db9deededb39d8377b99e58fa5c4.png

d0f58cf7c853edb5aeec3f9ba2bb127c.png

ec6c71a76fd5d103d3a0f827853cd454.png

演示效果如下:

启动正常应用

df94519c042a37e603a1b5177ef7cd90.png

这时恶意的后台service启动了伪造的activity

881bd77cadf079722f9d25786f7337c4.png

当用户输入凭证之后

9b62896b9650bd6ec67b882e707dfec9.png

恶意activity记录下凭证,并跳回到正常应用

35d0e6cc75648caf35dfe8dd6843ce80.png

在远端服务器已经记录下了用户凭证

113b5dd8bc8cb6ba942ba5f9675098eb.png

【责任编辑:于爽 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值