首页
社区
课程
招聘
[讨论]微软坑爹啊, 注册表权限完全形同虚设。
发表于: 2012-6-6 18:37 7037

[讨论]微软坑爹啊, 注册表权限完全形同虚设。

2012-6-6 18:37
7037
ZwOpenKey 以只读权限(KEY_READ)打开一个已经存在的Value , 竟然能删除。

RtlInitUnicodeString(&UnicodeRegPath, L"\\REGISTRY\\MACHINE\\SOFTWARE\\abc");

InitializeObjectAttributes(&KeyObjectAttributes, &UnicodeRegPath, OBJ_CASE_INSENSITIVE |OBJ_KERNEL_HANDLE, NULL, NULL);

status = ZwOpenKey(&hKey,KEY_READ, &KeyObjectAttributes);

if( ! NT_SUCCESS(status) )

{

KdPrint(("\r\nZwOpenKey : %wZ, FALSE! %08X", &UnicodeRegPath, status));

}

else

{

KdPrint(("\r\nZwOpenKey : %wZ, Success!", &UnicodeRegPath, status));

ZwDeleteKey(hKey); //这里能删除成功。坑爹。

ZwClose(hKey);

}

ZwOpenKey & ZwCreateKey 只要能成功拿到句柄  即拥有了所有权限  你妹的坑死你爹了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (12)
雪    币: 90
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
潜力贴留名.Opera插图补丁.颜色补丁.字数补丁..
2012-6-6 19:16
0
雪    币: 602
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
注册表权限,留名
2012-6-6 19:47
0
雪    币: 284
活跃值: (106)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
4
楼主息怒,你这是kernel_handle,已经在内核里了,你已经是最高权限了
2012-6-6 20:06
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
5
在内核里运行驱动已经不需要权限检查了?
2012-6-6 20:11
0
雪    币: 316
活跃值: (128)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
我也很想知道,内核到底是不是最高权限。
2012-6-6 20:43
0
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
如果内核都不是最高权限,那哪里有最高权限?
2012-6-6 20:47
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
8
内核里(kernelMode)就是最高权限? ZwCreateFile 你试试  如果你只读打开 指定写不进去。。。。
2012-6-6 20:58
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
关心一下,有答案没有?
2012-6-7 09:26
0
雪    币: 27
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主亮了……
2012-6-7 09:32
0
雪    币: 1489
活跃值: (1053)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
LZ亮了。
2012-6-7 10:01
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
12
"亮了“是神马意思?
2012-6-7 12:57
0
雪    币: 1040
活跃值: (1293)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
特意去翻了一下WRK,看到NtDeleteKey的参数描述里面有这么一句话: KeyHandle - Specifies the handle of the Key to delete, must have been opened for DELETE access.
然后翻了一下KEY开头的权限,没发现到底在哪定义删除的权限啊……只有CmIsKcbReadOnly这个判断,是不是在NtOpenKey加上去的不清楚……
2012-6-7 16:03
0
游客
登录 | 注册 方可回帖
返回
//