lab10
这一题开始就是堆的范畴了
题目介绍
程序只开启了NX保护
有三个功能,分别是add,delete跟print
1 | ---------------------- |
先一看一下add:
1 | Arch: amd64-64-little |
保护只开启了NX,程序有3个功能:
1 | 1、malloc + get |
大名鼎鼎 house of orange来自于Hitcon CTF 2016中的一道 同名题目,其可以在没有free的情况下得到一块unsorted bin,因为unsorted bin的fd,bk为main_arean+88,所以可以通过申请切割unsorted bin来泄漏libc地址(没有深入了解的我一直以为这是house of orange仅此而已的用处……汗……)
题目逻辑很简单,一共可以build 4次,每次build分进行3次堆分配,两次malloc,一次calloc,其中一次malloc是固定的0x10字节作为控制堆块,放着name和color的信息,另外按输入分配name 的大小。
先下载一个内核源码 :https://mirrors.edge.kernel.org/pub/linux/kernel/
我下载的是linux-4.9.tar.gz
然后安装一些依赖1
2sudo apt-get update
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc