Android调用binder实现权限提升-android学习之旅(81)
2015-10-23 10:51
721 查看
当进程A权限较低,而B权限较高时,容易产生提权漏洞
fuzz测试的测试路径
First level Interface是服务
Second level Interface是服务中对应的接口
1.首先获取第一层和第二层接口,及服务以及对应服务提供的接口
2.根据以上信息结合参数类型信息构造meta-data元数据
3.得到构造好的元数据,选择一个Interface,根据Interface以及元数据选择业务代码
4. 调用binder服务线程,参数为随机数
5.输出日志
执行以上5步直到所有接口完成测试
假设A进程权限较低,B进程权限较高
如果A进程可以获得B进程的带IGraphicProducer接口的binder代理对象,那么A进程可以通过跨进程的binder调用利用此漏洞可获得B进程的权限。
第一步:获得mediaserver进程导出的IGraphicProducer,从而普通应用程序可以注入代码到mediaserver
第二步:注入到mediaserver中的代码获得surfaceflinger导出的IGraphicProducer接口,然后通过setSidebandStream可以拿下surfaceflinger。
surfaceflinger 通过调用IWindowsManager的screenShotApplication这个binder调用获取IGraphicProducer接口,拿下system_server
相关文章推荐
- Android 6.0变化之休眠模式
- windows Android 开发环境
- android 一个TextView设置多种颜色
- android发布时的签名过程
- Android ListView 使用
- Android开发中如何使用ProGuard
- android studio 可以自定义不提交哪些内容
- 测试csdn的blog
- Android安全机制浅谈-android学习之旅(80)
- android--观察者模式
- Android安全机制浅谈-android学习之旅(80)
- Android安全机制浅谈-android学习之旅(80)
- Android安全机制浅谈-android学习之旅(80)
- android 循环操作
- Android 蓝牙低能耗(BLE)
- Android Shaper: Paint.Xfermode和Path,实现图片圆角效果
- Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)
- Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)
- Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)
- Binder和SurfaceFlinger以及SystemServer介绍-android学习之旅(79)