能力值:
( LV11,RANK:180 )
|
-
-
2 楼
我已回复楼主邮件,没看到?
因为MDL对象第一次释放之后,我们用WorkerFactory对象占用了这块内存,这时候一切都是对的
但是因为存在二次释放漏洞,第二次释放时候实际上释放的是WorkerFactory对象。这样WorkerFactory对象就是在系统不知情的情况下被释放了。“系统不知情”说明句柄还有用,可以通过hWrokerFactory句柄操作对象。此时你再调用NtSetInforamtionWorkerFactory就相当于对WrokerFactory对象的use after free。
uaf的利用一般都是占用掉被释放的对象在触发系统调用,让系统流程操作我们伪造的数据。
我们这里也是这么做的,我们在NtSetInforamtionWorkerFactory之前,用NtQueryEaFile布置恶意数据到刚被释放的WorkerFactory对象的内存上。
double free可以转化为uaf的利用,这是我的理解。具体操作就是第一次释放后,用一个新申请的对象快速占用,这样第二次释放实际上就会造成这个新申请的对象的释放,而且“系统不知道”,因此可以进行后续操作,这就是uaf。希望能帮到你。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
确实没看到,我记错了注册邮箱, ,太感谢你了,vsbat大大,通过你的解答,我明白了很多,
|
|
|