系列文章

目录

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安全检测实践基础:组件安全(二)相关推荐

  1. c 反编译工具_App安全检测实践基础——工具篇

    投稿作品---->作者:calmness 目录 Apktool Apk反编译得到Java源代码 dex2jar jd-gui.exe 劫持工具 使用方法: adb工具 PYTHON2.7 dro ...

  2. java反编译工具_App安全检测实践基础——工具

    网安引领时代,弥天点亮未来 0x00目录 简述 Apktool Apk反编译得到Java源代码 dex2jar jd-gui.exe 劫持工具 使用方法 adb工具 PYTHON2.7 drozer工 ...

  3. 【创新项目实训】Android移动开发教学app案例之音频播放器(二)

    教学app案例之音频播放器(二) 一.开发环境 二.项目介绍 三.开始主界面 四.显示歌曲列表 五.播放音乐的服务 六.实现播放音乐 一.开发环境 软件环境: Android Studio 4.1.3 ...

  4. Android studio 导出安卓APP软件方法

    1.软件调试无误后点击build,再选择图中选项 2.选择APK,下一步 3.如果是第一次导出没有相应的许可证,点create new,新建一个许可证,上边是许可证的存储位置,下面填入六位密码以及相应 ...

  5. 【大白话学习】UniApp 微信小程序与APP应用 开发零基础入门教程(二)---登陆界面功能实现

    打开 main.js,这个文件里定义的是整体小程序中会用到的一些 功能 (即变量之类),也就是说,只要在这里出现的功能,其它页面可以直接拿来使用.可以把它理解为: 共享单车main ,大家都可以用. ...

  6. 基于Android的校园一卡通App平台

    演示视频信息: A6604基于Android的校园一卡通 一.研究背景.目的及意义 (一)研究背景         二十一世纪是信息化的时代,信息化建设成为我们的首要任务.当前我国大力发展信息产业,在 ...

  7. ReactNative组件导出

    前言 如果对RN开发有一定的了解的话,就会发现,ReactNative提供的组件不能完全满足开发的需求,就需要自定义一些组件,那么如何导出全局的自定义组件呢? 组件的导出 组件导出有两种形式: 默认组 ...

  8. 每日优鲜小程序基础组件介绍

    每日优鲜小程序基础组件介绍 1.基础组件介绍 2.基础组件的结构与作用 3.基础组件的接入方法 初次引入 初始化 更新与维护 基础组件接入 1.基础组件介绍 小程序基础组件基于每日优鲜主商城小程序业务 ...

  9. 微服务开源框架TARS 之 基础组件

    作者 herman 导语 本文源自herman的系列文章之一<鹅厂开源框架TARS之基础组件>.相关代码已按TARS开源社区最新版本更新. TARS开源框架库里面用C++实现了比较多的公用 ...

最新文章

  1. 阿里云服务器买了,如何建站呀?
  2. Spring Boot 数据库连接池入门
  3. How to Build Your Own Blockchain Part 4.1 — Bitcoin Proof of Work Difficulty Explained
  4. SQL 语句中的字段名 如果是 关键字怎么办?
  5. mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)...
  6. 变量绑定对话框控件不同类型成员变量的绑定
  7. android 更改软键盘_如何在Android的Google键盘上更改声音和振动
  8. 搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR
  9. Reservoir Computing: Harnessing a Universal Dynamical System
  10. 资深架构专家聊架构之道:规划、简化和演化(续)
  11. 火柴人小程序linux,火柴人你瞅啥小程序
  12. 计算仰角_41页最新全站仪测量方法及计算+图文解说,助你轻松掌握测量
  13. 懂,你的App生,不懂,死!
  14. QT中如果出现: warning: 'nullptr' is incompatible with C++98等类似警告
  15. 计算机添加pdf打印机驱动,给win7系统电脑安装PDF虚拟打印机的详细教程
  16. vivo手机的android系统,vivo X3S的手机系统是什么?能升级安卓4.3吗?
  17. 机器学习笔记2:建立模型一般所需步骤
  18. android状态栏右上角增加图标的方法
  19. 最新版校园招聘进大厂系列----------(1)阿里篇 -----未完待续
  20. Windows中使用C语言实现打印彩色文字到命令行窗口

热门文章

  1. Microbiome:掠食性粘细菌通过调节土壤微生物群落来控制黄瓜枯萎病
  2. 本周开课——6天精通AI、PS、GraphPad Prism等软件,轻松制作各种高分SCI杂志插图!...
  3. QIIME 2用户文档. 17鉴定和过滤嵌合体序列q2-vsearch(2019.7)
  4. 白洋组公众号-植物微生组33天受邀原创-诚邀同行分享经验
  5. R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
  6. plotly可视化表格数据:以表格可视化pandas dataframe
  7. 主题模型简介(Topic Models)
  8. 实体识别+entity resolution
  9. R语言数据结构之数据框
  10. R语言包_rCharts