Android调用binder实现权限提升-android学习之旅(81)
生活随笔
收集整理的這篇文章主要介紹了
Android调用binder实现权限提升-android学习之旅(81)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當進程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
轉載于:https://www.cnblogs.com/fengsehng/p/6048528.html
總結
以上是生活随笔為你收集整理的Android调用binder实现权限提升-android学习之旅(81)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lucene索引创建
- 下一篇: Android高德地图自定义Marker