【Android】组件安全

本文主要在实战过程中的一些经验总结,长期更新,目前状态是初学,目前实战中会挖一些webview沙箱任意读、lauchanywhere等比较常见的问题,其他类型的漏洞还在不断地学习中。

drozer

通过drozer可以看出apk有哪些组件可导出

下载

https://labs.f-secure.com/tools/drozer/

常用命令

run app.activity.info -a com.xxx
run app.service.info -a com.xxx
run app.broadcast.info -a com.xxx
run app.provider.info -a com.xxx

jadx

尽管知道了导出的组件,也是需要通过阅读代码来观察组件利用的逻辑

下载

https://github.com/skylot/jadx

常用命令

这里有个trick就是改变jadx运行内存。

step1:cd ~/jadx-1.3.3/bin
step2:vim jadx-gui
step3:找到这一行,DEFAULT_JVM_OPTS=""-Xms128M" "-Xmx16g""(xms就是最小内存,xmx就是最大内存),例如我的mac内存是16g就可以打到16g
step4:加入命令行参数alias jadx="填自己的目录/jadx-1.3.3/bin/jadx-gui"
step5:键入jadx即可运行,

frida

当代码比较多,有点看不过来入参出参返回值时,可以用hook的方式进行调试,至少我暂时是这么做的。

下载

https://github.com/frida/frida/releases

常见命令

中间插入要hook的函数即可,可以log出入参和返回值,如果有需要也可以篡改return来看看效果,一般用得少。

if (Java.available) {Java.perform(function () {代码块});
}

小strick,jadx1.3.3支持一件生成frida hook代码块,按f即可。

实战trick

基本上目前我接触到的客户端问题,上述的工具即可解决了,当然还有android stuio,编写poc代码。这个这里就不阐述了。下面介绍实战中,组件相关的漏洞挖掘时的一些trick

strick即集合

实战中会遇到的一些小trick,因为也是不断在挖掘和学习,会不断地遇到新的情况,如果记得住的话会持续更新。

  1. oncreate,也就是必然触发的入口。
  2. 带init的函数,通常带init的函数也会自动触发。
  3. getintent函数,通常getintent函数都是我们能控制的数据。
  4. url、uri、webview等常见的url相关的入参。
  5. 关注extends继承关系,通常有可能a组件继承了b组件,a没问题,但是b有问题。
  6. startactivity,通常这是最终的触发点。有可能存在控制的数据start了另外一个组件b,那就要去审计组件b的代码看看数据最终如何控制。
  7. 自有协议绕过webview限制,通常直接file读沙箱可能会被拦截,但有时候有些自有协议通常会接收一些参数作为url传入,这里可能存在绕过,可以全局搜索**sheme://**找有无自有协议绕过的可能
  8. 当存在url可控时,可以关注是否能用intent协议执行,如果能执行intent,通常就是lauchanywhere了。
  9. handlermessage,通常service进行通信时,也会存在信息交互,可看看信息交互是否存在敏感信息,毕竟是可导出的,所以存在敏感信息和恶意apk之间的交互,劫持对应的敏感信息。
  • 2022.03.18更
  1. 关注扫一扫+【7】自有协议绕过,通常扫一扫会支持该app的私有协议。

【Android】组件安全相关推荐

  1. 业务逻辑组件化android,AppJoint 极简 Android 组件化方案

    AppJoint 极简 Android 组件化方案.仅包含 3 个注解加 1 个 API,超低学习成本,支持渐进式组件化. 开始接入 在项目根目录的 build.gradle 文件中添加 AppJoi ...

  2. 2015最流行的Android组件、工具、框架大全

    原文链接:http://www.open-open.com/lib/view/open1436262653692.html Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, A ...

  3. Android组件系列----BroadcastReceiver广播接收器

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. android 组件导出安全,App安全检测实践基础:组件安全(二)

    系列文章 目录 Activity简述 Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务.Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通 ...

  5. android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南

    code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 作者:LvKang-insist 链接:https://juejin.im/post/5efdff9d6fb9a07e ...

  6. Android组件化打造知乎日报系列(一)—— 项目架构搭建

    Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...

  7. 为何需要Android组件化,如何搭建?

    为什么需要android组件化? 因为,一个项目(APP)里面有很多功能模块啊,有些功能模块完全可以提出来公用.例如:网络请求(登录.注册).图片处理(压缩.点击)等. 张华洋老师博客说的很多:And ...

  8. android组件化开发视频教程,教你打造一个Android组件化开发框架

    作者简介 本篇来自 lucky_billy 的投稿,分享了他的开源组件化框架,详细地讲解框架形成的思路,希望对大家有所帮助. lucky_billy 的博客地址: 解读开源框架设计思想 B站学习视频 ...

  9. Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)

    Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1) RecyclerView是比ListView和GridView更为强大的布局视图, ...

  10. 【Android 组件化】路由组件 ( 页面跳转参数依赖注入 )

    文章目录 一.参数自动注入 二.自定义注解 三.使用 @Extra 自定义注解 四.注解处理器解析 @Extra 自定义注解 并生成相应 Activity 对应代码 五.博客资源 组件化系列博客 : ...

最新文章

  1. phalcon php 5.4,如何在php上安装phalcon
  2. Linux之mkdir和rm命令选项
  3. 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
  4. 深入理解Android消息处理系统——Looper、Handler、Thread
  5. linux 内存管理中的 rss 和 vsz
  6. C++编程练习:多态实验——设计一个基类Shapes,Shapes类公有派生产生矩形类Rectangle和圆类Circle
  7. Binary Formats in JavaScript: Base64, Deflate, and UTF8
  8. mysql如何选择多个表_从两个表mysql中选择多行
  9. SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求
  10. “勒索文件”或可部分恢复
  11. HeidiSQL软件推荐( MySQL 服务器和数据库管理的图形化界面)
  12. LAMP架构之4——MySQL源码编译及使用
  13. html5在线拍照,js html5 调用摄像头拍照
  14. 基于python的新闻发布系统
  15. oracle语句中,Oracle 语句中“||”代表什么啊?
  16. axure 调整中继器列宽_Axure RP 8教程 - 中继器功能改进
  17. if 条件结构与switch条件选择结构
  18. MATLAB实现各种概率密度函数(概率密度/分布/逆概率分布函数)
  19. lgg7深度详细参数_深度学习显卡参数详细对比
  20. c语言四字节对齐,C语言字节对齐详解

热门文章

  1. Unity3D教程(一)安装以及使用Unity3D
  2. MicroExpSTCNN and MicroExpFuseNet-基于三维时空卷积神经网络的自发面部微表情识别
  3. jQuery源码中的“new jQuery.fn.init()”什么意思?
  4. 网站盈利有哪些模式?
  5. linux 搜狗输入法使用技巧,在Deepin 20系统中使用官方搜狗输入法的技巧
  6. soundbar未来发展_Soundbar专题:一条走天下,属于客厅影院的未来
  7. Web前端开发CSS学习笔记2—五大类选择器
  8. 2022双十一最亮投影仪推荐,当贝X3激光投影3200ANSI流明超高亮度
  9. 【TL学习笔记】1:领域自适应(Domain Adaptation)方法综述
  10. 对接亚马逊 SP-API(Amazon Selling Partner API) 第五章:Reports 模块