UAF hacknote

张开发
2026/4/20 1:26:31 15 分钟阅读

分享文章

UAF hacknote
hacknotep process(./hacknote, env{GLIBC_TUNABLES: glibc.malloc.tcache_count0})禁止tcache分析一下可以得到查看del_note函数这里只是free了两个堆但并没有把*(notelist)置空即bss段上的指针依旧指向堆的地址即使该堆被free查看print_note函数发现这里执行完会返回result而result**(notelist),正好是print_note_content函数所以这里是调用了这个函数这里是先free掉第二个属性指向的堆然后free掉notelist指向的堆这里提供了magic函数那么就是将堆中的指针指向magic函数即可fastbinsfastbins有一个先进后出的特性(和栈一样)从上面知道notelist指向的地址并没改变那么是不是先free掉notelist指向的堆块然后再让一个堆块的第二个属性指针指向notelist指向的堆块的第一个函数指针是不是就可以篡改原本的函数指针

更多文章