BCTF2017 BabyUse 问题 问题在于drop函数中在释放块之后没有清空bss_gun_list中的指针. 一般因为存在对bss_gun_flag的验证,所以不会出现什么问题,但是在use功能中没有验证bss_gun_flag struct_ptr = bss_gun_list[global_index_saved]; 因此use功能存在UAF,不得不说这个设计的还是比较隐蔽的,有点考验眼神. 想法 首先因为题目给了我们分配任意大小堆块的能力,并且我们在阅读代码时候发现并没有对分配的内…