首页
社区
课程
招聘
[讨论]遇到一个很奇怪的问题:简单su获取root失败
发表于: 2015-3-15 14:27 11982

[讨论]遇到一个很奇怪的问题:简单su获取root失败

2015-3-15 14:27
11982
su.c是自己搞的简化版,主要就调用了这两个函数:setgid(0),setuid(0)。
去掉了和superuser.apk交互的部分,即任何人调用su都会成功,没有检查。

操作步骤:
1、手机已经root;
2、用ndk编译su.c成功,push到system/xbin/,并设置好sbit
3、去掉手机的root
4、进入adb shell(此时不是root,前缀是$)
5、执行su,成功,前缀变成#。但是实际上没有获得root权限,相关操作都返回“Permission denied”。
比如: ls data/data
返回:opendir failed, Permission denied

百思不得其解,求各位高人解答

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1、  你只是set 了而已。。  然后就退出了。 所以你的进程就退了。

2、别人的su 会自己再exec  一个shell

3、 使用id 可以知道当前shell 的身份。
2015-3-15 15:11
0
雪    币: 48
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
安卓4.3及以上版本,setuid setgid没办法获取root权限。
2015-3-15 15:45
0
雪    币: 5
活跃值: (149)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Android 4.3以上启用了seandroid ,所以su 的setuid()setgid()均会失败。目前大家采用的策略是启动daemon的方式。这也是无奈之举。随着Android版本升级,系统本身的安全性也越来越高,未来给我们这些安全的开发者的出路也就越来越窄。
2015-3-16 14:18
0
雪    币: 59
活跃值: (185)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
那要怎么搞??
2015-3-16 14:53
0
雪    币: 59
活跃值: (185)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
Android4.3和4.4的SEAndroid没有强制开启啊,默认不都是permissive模式么?
2015-3-16 14:55
0
雪    币: 5
活跃值: (149)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
4f1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4c8A6k6h3u0S2i4K6u0W2j5X3q4A6k6s2g2Q4x3X3g2U0L8$3#2Q4x3V1k6H3i4K6u0r3x3U0f1H3x3e0j5%4y4e0R3^5z5b7`.`. 这个说的很明白,你看一下吧
2015-3-16 16:04
0
雪    币: 96
活跃值: (2860)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
具体请参考cm su的源码,当然,源码还要修改下才能支持4.3及以后版本。
45fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6o6P5h3q4F1L8$3N6W2L8V1#2G2k6q4)9J5c8X3q4F1k6s2u0G2K9h3c8Q4y4h3k6K6P5i4y4@1k6h3#2Q4y4h3k6W2P5s2c8J5j5i4y4Q4y4h3k6K6N6b7`.`.
2015-3-17 09:28
0
雪    币: 59
活跃值: (185)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
看了这个帖子,感觉更迷糊了
adb shell对应的是adbd的进程吧?
和Zygote的权限处理应该没关系啊??
还是我理解错了。。。
2015-3-17 14:58
0
游客
登录 | 注册 方可回帖
返回