0%

首先,检查一下程序的保护机制

然后,我们用IDA分析一下,delete功能清空了标记但是,没有清空指针,使得可以多次free。

阅读全文 »

首先检查一下程序的保护机制

然后用IDA分析一下,edit里存在一个整数溢出导致堆溢出的漏洞。当输入为0x8000000000000000时,即可使得index为-1,由于输入的长度不够,因此将0x8000000000000000转为负数的形式输入进去即可。然后就是正常的unlink了。

阅读全文 »

首先,检查一下程序的保护机制

然后用IDA分析一下,在edit函数里存在一个溢出漏洞,我们只需要让v6-strlen(&dest) == 0,即可绕过’\0’的截断,实现溢出。因此我们只需add(0,’’),即可利用这个chunk来溢出,由于PIE也没开启并且堆指针保存在bss段,因此做unsorted bin unlink比较简单。

阅读全文 »

首先,检查一下程序的保护机制

然后,我们用IDA分析一下,只要符合条件就可以显示flag,但是按照正常的逻辑是不能的。

阅读全文 »

这是DawgCTF 2020国际赛的一题,作为一血所得者,还是很高兴的。

首先,检查一下程序的保护机制,发现没开PIE

阅读全文 »

给了我们两个二进制,分别为32位和64位,两个程序功能完全相同,有一个裁决程序,fork出这两个程序,并监听着它们的输出,如果两者输出不一样或者一方崩溃,则裁决程序就会kill掉它们两个。

首先,我们检查一下程序的保护机制

阅读全文 »