supermarket(uaf)!!!!


在这道题目我花费了很长的世界去理解,因为绕进了死圈子

例行检查我就不放了

关键处在于选择5

 使用了realloc,却没有让结构体指针node-> description正确指回去

(11条消息) 攻防世界PWN之Supermarket题解_seaaseesa的博客-CSDN博客

 这位师傅博客上面有对realloc的具体解析

这道题的思路就是,我们申请一个0x80的堆,然后通过选择5的realloc申请一个0x90的堆

,申请后0x80的堆会被free掉,然后在申请一个0x20大小的堆,这里就形成了一个uaf,我们通过修改0x90堆里面的内容,可以实现对0x20堆里面的description这个指针的修改,让atoi_got的值去覆盖这个指针

那么当我们修改0x20大小堆的内容时,因为指针指向的是atoi_got处所以就可以在此处覆盖system的值从而拿到shell

完整exp如下

 结束!