版权声明:来自:无忧博客(https://blog.csdn.net/chk218) https://blog.csdn.net/chk218/article/details/81703465
今天研究了一下Android的ROOT权限问题,发现了SuperSU Pro的一个BUG。可以实现APP绕过SuperSU Pro的授权,直接获取到系统root权限。
废话不多说,看我是如何实现的:
1.首先介绍一下SuperSU这个APP:
SuperSU,超级授权管理专业工具,它是款对Android手机进行ROOT的超级权限管理工具,超级用户访问权限管理必备利器。Super SU 原生无广告,自带简体中文,支持已ROOT设备上所有应用的超级用户访问权限管理,比Superuser功能更强大,界面更美观,更稳定!SuperSU 是最好用的授权管理应用,没有之一。
2.开发漏洞利用APP
需要用到:ZipEntry漏洞
APP功能详情:
-
获取root权限
-
解压文件
3.实现原理
SuperSU Pro的控制文件在data/data/eu.chainfire.supersu/files/supersu.cfg
我手机supersu.cfg的内容如下:
[xxx.xxx.xxx]是APP的包名
uid是系统分配APP对应的唯一id
access这个是关键所在:
access=0 代表拒绝APP root权限
access=1 代表授权APP root权限
access=2 代表询问APP root权限
在漏洞利用APP里:
-
首先获取自己的uid
-
构造supersu.cfg文件
-
压缩supersu.cfg文件
-
利用ZipEntry漏洞解压压缩的supersu.cfg文件到data/data/eu.chainfire.supersu/files/
-
直接获取root权限
4.ZipEntry漏洞
可能你对ZipEntry漏洞并不了解,那我就简单的介绍一下我对这个漏洞的理解吧:
假设a.zip是一个压缩文件,里面有一个名为abc.xml的文件
在解压时,设置解压目录为../../xxx/xx/
如果在/xxx/xx/目录中也存在abc.xml文件,那么就可以在解压时直接覆盖原有的abc.xml文件
【点击加入“渗透技术进阶交流群”】
==========全文完结==========