Exploit UserAfterFree 2017/06/19
CVE-2011-0065分析

0x00.环境

系统::WINXP SP3

影响软件:Mozilla Firefox 3.6.16

0x01.成因

垃圾回收策略导致刚刚赋值的指针被回收,从而出现UAF

0x02.要点

FIREFOX这个堆喷还没搞清楚,除了这个EXP就剩一个问题

fake_obj_addr = unescape("\x1C%u0c0c")

为什么申请这个字符串就能做到UAF?异常后根据栈回溯,下内存写断点,找到释放的点。

debug

可以看到此处大小是0x10字节。而"\x1C%u0c0c"字符串在内存中刚好0x10字节

"\x1C%u0c0c" = 1C 00 25 00 75 00 30 00 63 00 30 00 63 00 00 00  .%.u.0.c.0.c...