tcache专题

c++ free(): double free detected in tcache 2

pInter->SetHdRegisterEndTakePhotoCb(std::bind(&FpvAerialMappingCtrlModule_Impl::CameraDeviceResultCb,this, std::placeholders::_1)); 运行这行代码报此错误,因有返回值的函数结束时没有写 return 语句导致。排查了很久才发现,加上 return 语句问题解决

SWPUCTF_2019_p1KkHeap(负溢出tcache)de1ctf_2019_weapon(IO_FILE泄露libc)

SWPUCTF_2019_p1KkHeap IDA分析 用IDA反编译发现,此题操作有如下限制 顺便说一下,buu上的所有ubuntu18的题目都是带tcache-double-free的,其实这不太好,怕养成习惯这样解题。 这里可以看到的是,对delete和add有明显的次数限制,不能简单的tcache-poisoning来泄露libc。本题一开始也是卡在这里,没有别的思路。 之后参考了别

ciscn_2019_sw_5(tcache下delete次数限制时的巧妙利用手法)

ciscn_2019_sw_5(tcache下delete次数限制时的巧妙利用手法) 首先,检查一下程序的保护机制 然后,我们用IDA分析一下,仅两个功能 其中,delete功能只能用3次,delete功能没有清空指针,存在double free漏洞。 Add功能,size不可控,结尾printf可以输出堆内容。 我们可以利用add结尾的printf输出,main_are