android 组件导出安全,App安全检测实践基础:组件安全(二)
系列文章
目录
Activity简述
Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
Activity是Android组件中最基本也是最常用的一种组件,每一个Activity都被实现为一个独立的类,并且继承于Activity这个基类。
activity类处于android.app包中,继承体系如下:1.java.lang.Object
2.android.content.Context
3.android.app.ApplicationContext
4.android.app.Activity
Activity拒绝服务
1、描述
开发者为方便调用,会把Activity组件设置为导出状态。Android组件之间采用Intent来传递数据,如果Intent接收方没有对Intent的畸形数据进行异常捕获,可以通过构造附有畸形数据的Intent,导致APP崩溃,触发拒绝服务漏洞。
2、过程
查看AndroidManifest.xml是(否)存在Activity导出
查看一下 Intent相关的代码,进行分析运行情况
利用adb命令启动被导出的Activity
adb shell am start -S -n 包名/Activity名
如何找到的这个包和Activity名,请查看相关内容
3、建议将不必要导出的组件调整为不导出
对intent的数据处理进行保护
Activity组件越权
1、描述
开发者为方便外部调用,会把Activity组件设置为导出状态。如果由于开发者的疏忽,把一些包含用户敏感信息或可进行敏感操作的组件设置为导出状态,可能会造成越权查看敏感信息泄露以及越权操作等安全风险。
2、过程查看AndroidManifest.xml是否存在Activity导出
利用adb命令启动被导出的Activity
adb shell am start -S -n 包名/Activity组件名Package: semem.toast
semem.toast.MainActivity
Permission: null
semem.toast.logo1
Permission: null
Target Activity: semem.toast.MainActivity
semem.toast.TranslateActivity
Permission: null
semem.toast.shortwww_activity
Permission: null
semem.toast.NewQRCodeActivity
Permission: null
semem.toast.GetWebCodeActivity
Permission: null
semem.toast.SearchActivity
Permission: null
确认Activity是(否)存在敏感信息泄露和越权操作等安全风险
菜单如下所示:
android 组件导出安全,App安全检测实践基础:组件安全(二)相关推荐
- c 反编译工具_App安全检测实践基础——工具篇
投稿作品---->作者:calmness 目录 Apktool Apk反编译得到Java源代码 dex2jar jd-gui.exe 劫持工具 使用方法: adb工具 PYTHON2.7 dro ...
- java反编译工具_App安全检测实践基础——工具
网安引领时代,弥天点亮未来 0x00目录 简述 Apktool Apk反编译得到Java源代码 dex2jar jd-gui.exe 劫持工具 使用方法 adb工具 PYTHON2.7 drozer工 ...
- 【创新项目实训】Android移动开发教学app案例之音频播放器(二)
教学app案例之音频播放器(二) 一.开发环境 二.项目介绍 三.开始主界面 四.显示歌曲列表 五.播放音乐的服务 六.实现播放音乐 一.开发环境 软件环境: Android Studio 4.1.3 ...
- Android studio 导出安卓APP软件方法
1.软件调试无误后点击build,再选择图中选项 2.选择APK,下一步 3.如果是第一次导出没有相应的许可证,点create new,新建一个许可证,上边是许可证的存储位置,下面填入六位密码以及相应 ...
- 【大白话学习】UniApp 微信小程序与APP应用 开发零基础入门教程(二)---登陆界面功能实现
打开 main.js,这个文件里定义的是整体小程序中会用到的一些 功能 (即变量之类),也就是说,只要在这里出现的功能,其它页面可以直接拿来使用.可以把它理解为: 共享单车main ,大家都可以用. ...
- 基于Android的校园一卡通App平台
演示视频信息: A6604基于Android的校园一卡通 一.研究背景.目的及意义 (一)研究背景 二十一世纪是信息化的时代,信息化建设成为我们的首要任务.当前我国大力发展信息产业,在 ...
- ReactNative组件导出
前言 如果对RN开发有一定的了解的话,就会发现,ReactNative提供的组件不能完全满足开发的需求,就需要自定义一些组件,那么如何导出全局的自定义组件呢? 组件的导出 组件导出有两种形式: 默认组 ...
- 每日优鲜小程序基础组件介绍
每日优鲜小程序基础组件介绍 1.基础组件介绍 2.基础组件的结构与作用 3.基础组件的接入方法 初次引入 初始化 更新与维护 基础组件接入 1.基础组件介绍 小程序基础组件基于每日优鲜主商城小程序业务 ...
- 微服务开源框架TARS 之 基础组件
作者 herman 导语 本文源自herman的系列文章之一<鹅厂开源框架TARS之基础组件>.相关代码已按TARS开源社区最新版本更新. TARS开源框架库里面用C++实现了比较多的公用 ...
最新文章
- 阿里云服务器买了,如何建站呀?
- Spring Boot 数据库连接池入门
- How to Build Your Own Blockchain Part 4.1 — Bitcoin Proof of Work Difficulty Explained
- SQL 语句中的字段名 如果是 关键字怎么办?
- mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)...
- 变量绑定对话框控件不同类型成员变量的绑定
- android 更改软键盘_如何在Android的Google键盘上更改声音和振动
- 搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR
- Reservoir Computing: Harnessing a Universal Dynamical System
- 资深架构专家聊架构之道:规划、简化和演化(续)
- 火柴人小程序linux,火柴人你瞅啥小程序
- 计算仰角_41页最新全站仪测量方法及计算+图文解说,助你轻松掌握测量
- 懂,你的App生,不懂,死!
- QT中如果出现: warning: 'nullptr' is incompatible with C++98等类似警告
- 计算机添加pdf打印机驱动,给win7系统电脑安装PDF虚拟打印机的详细教程
- vivo手机的android系统,vivo X3S的手机系统是什么?能升级安卓4.3吗?
- 机器学习笔记2:建立模型一般所需步骤
- android状态栏右上角增加图标的方法
- 最新版校园招聘进大厂系列----------(1)阿里篇 -----未完待续
- Windows中使用C语言实现打印彩色文字到命令行窗口
热门文章
- Microbiome:掠食性粘细菌通过调节土壤微生物群落来控制黄瓜枯萎病
- 本周开课——6天精通AI、PS、GraphPad Prism等软件,轻松制作各种高分SCI杂志插图!...
- QIIME 2用户文档. 17鉴定和过滤嵌合体序列q2-vsearch(2019.7)
- 白洋组公众号-植物微生组33天受邀原创-诚邀同行分享经验
- R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
- plotly可视化表格数据:以表格可视化pandas dataframe
- 主题模型简介(Topic Models)
- 实体识别+entity resolution
- R语言数据结构之数据框
- R语言包_rCharts