【Android】组件安全
【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,因为也是不断在挖掘和学习,会不断地遇到新的情况,如果记得住的话会持续更新。
- 找oncreate,也就是必然触发的入口。
- 找带init的函数,通常带init的函数也会自动触发。
- 找getintent函数,通常getintent函数都是我们能控制的数据。
- 找url、uri、webview等常见的url相关的入参。
- 关注extends继承关系,通常有可能a组件继承了b组件,a没问题,但是b有问题。
- 找startactivity,通常这是最终的触发点。有可能存在控制的数据start了另外一个组件b,那就要去审计组件b的代码看看数据最终如何控制。
- 找自有协议绕过webview限制,通常直接file读沙箱可能会被拦截,但有时候有些自有协议通常会接收一些参数作为url传入,这里可能存在绕过,可以全局搜索**sheme://**找有无自有协议绕过的可能
- 当存在url可控时,可以关注是否能用intent协议执行,如果能执行intent,通常就是lauchanywhere了。
- 找handlermessage,通常service进行通信时,也会存在信息交互,可看看信息交互是否存在敏感信息,毕竟是可导出的,所以存在敏感信息和恶意apk之间的交互,劫持对应的敏感信息。
- 2022.03.18更
- 关注扫一扫+【7】自有协议绕过,通常扫一扫会支持该app的私有协议。
【Android】组件安全相关推荐
- 业务逻辑组件化android,AppJoint 极简 Android 组件化方案
AppJoint 极简 Android 组件化方案.仅包含 3 个注解加 1 个 API,超低学习成本,支持渐进式组件化. 开始接入 在项目根目录的 build.gradle 文件中添加 AppJoi ...
- 2015最流行的Android组件、工具、框架大全
原文链接:http://www.open-open.com/lib/view/open1436262653692.html Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, A ...
- Android组件系列----BroadcastReceiver广播接收器
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- android 组件导出安全,App安全检测实践基础:组件安全(二)
系列文章 目录 Activity简述 Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务.Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通 ...
- android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南
code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 作者:LvKang-insist 链接:https://juejin.im/post/5efdff9d6fb9a07e ...
- Android组件化打造知乎日报系列(一)—— 项目架构搭建
Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...
- 为何需要Android组件化,如何搭建?
为什么需要android组件化? 因为,一个项目(APP)里面有很多功能模块啊,有些功能模块完全可以提出来公用.例如:网络请求(登录.注册).图片处理(压缩.点击)等. 张华洋老师博客说的很多:And ...
- android组件化开发视频教程,教你打造一个Android组件化开发框架
作者简介 本篇来自 lucky_billy 的投稿,分享了他的开源组件化框架,详细地讲解框架形成的思路,希望对大家有所帮助. lucky_billy 的博客地址: 解读开源框架设计思想 B站学习视频 ...
- Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)
Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1) RecyclerView是比ListView和GridView更为强大的布局视图, ...
- 【Android 组件化】路由组件 ( 页面跳转参数依赖注入 )
文章目录 一.参数自动注入 二.自定义注解 三.使用 @Extra 自定义注解 四.注解处理器解析 @Extra 自定义注解 并生成相应 Activity 对应代码 五.博客资源 组件化系列博客 : ...
最新文章
- phalcon php 5.4,如何在php上安装phalcon
- Linux之mkdir和rm命令选项
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 深入理解Android消息处理系统——Looper、Handler、Thread
- linux 内存管理中的 rss 和 vsz
- C++编程练习:多态实验——设计一个基类Shapes,Shapes类公有派生产生矩形类Rectangle和圆类Circle
- Binary Formats in JavaScript: Base64, Deflate, and UTF8
- mysql如何选择多个表_从两个表mysql中选择多行
- SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求
- “勒索文件”或可部分恢复
- HeidiSQL软件推荐( MySQL 服务器和数据库管理的图形化界面)
- LAMP架构之4——MySQL源码编译及使用
- html5在线拍照,js html5 调用摄像头拍照
- 基于python的新闻发布系统
- oracle语句中,Oracle 语句中“||”代表什么啊?
- axure 调整中继器列宽_Axure RP 8教程 - 中继器功能改进
- if 条件结构与switch条件选择结构
- MATLAB实现各种概率密度函数(概率密度/分布/逆概率分布函数)
- lgg7深度详细参数_深度学习显卡参数详细对比
- c语言四字节对齐,C语言字节对齐详解
热门文章
- Unity3D教程(一)安装以及使用Unity3D
- MicroExpSTCNN and MicroExpFuseNet-基于三维时空卷积神经网络的自发面部微表情识别
- jQuery源码中的“new jQuery.fn.init()”什么意思?
- 网站盈利有哪些模式?
- linux 搜狗输入法使用技巧,在Deepin 20系统中使用官方搜狗输入法的技巧
- soundbar未来发展_Soundbar专题:一条走天下,属于客厅影院的未来
- Web前端开发CSS学习笔记2—五大类选择器
- 2022双十一最亮投影仪推荐,当贝X3激光投影3200ANSI流明超高亮度
- 【TL学习笔记】1:领域自适应(Domain Adaptation)方法综述
- 对接亚马逊 SP-API(Amazon Selling Partner API) 第五章:Reports 模块