- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 classic heap unlink exploit(protostar Heap3)
1 概述https://exploit-exercises.com/protostar/heap3/本题展示了classic heap unlink exploit。 前置技能:要了解ptmalloc堆;熟悉classic heap unlink exploit。2 题目Heap3.c#include <stdlib.h>#include <unistd.h>#includ...
2018-05-23 10:34:53 712 1
原创 ptmalloc heap unlink exploit
1 概述Heap unlink exploit 前提是要对ptmalloc堆有一定的了解。2 Unlink宏Unlink:用来将一个双向 bin 链表中的一个 chunk 取出来参数:AV:arena header(malloc_state)P :将要unlink的chunkBK:P后面的chunk <--FD:P前面的chunk -->具体过程如下:将chunk从FD/B...
2018-05-21 14:29:11 654 1
原创 ptmalloc堆实现
1 概述在 glibc-2.3.x. 之后,glibc 中集成了ptmalloc2。 可以下载glibc源码查看ptmallochttp://ftp.gnu.org/gnu/glibc/ 查看glibc版本millionsky@ubuntu-16:~/tmp$ ldd --versionldd (Ubuntu GLIBC 2.23-0ubuntu9) 2.23 这里主要参考:https://ctf...
2018-05-10 15:08:05 1245
原创 ptmalloc堆数据结构
1 概述在 glibc-2.3.x. 之后,glibc 中集成了ptmalloc2。 可以下载glibc源码查看ptmallochttp://ftp.gnu.org/gnu/glibc/ 查看glibc版本millionsky@ubuntu-16:~/tmp$ ldd --versionldd (Ubuntu GLIBC 2.23-0ubuntu9) 2.23 这里主要参考:https://ctf...
2018-05-10 14:53:41 775
原创 ptmalloc堆概述
ptmalloc堆概述1 概述堆的概念在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连续的线性区域,它由低地址向高地址方向增长。 堆管理器我们一般称管理堆的那部分程序为堆管理器。· dlmalloc – General purpose allocator· ptmalloc2 – glibc· jemalloc – FreeBSD and ...
2018-05-10 14:42:04 1546
原创 ptmalloc堆概述-多线程支持
ptmalloc堆概述-多线程支持1 多线程支持在原来的 dlmalloc 实现中,当两个线程同时要申请内存时,只有一个线程可以进入临界区申请内存,而另外一个线程则必须等待直到临界区中不再有线程。这是因为所有的线程共享一个堆。在glibc的ptmalloc2实现中,比较好的一点就是支持了多线程的快速访问。在新的实现中,所有的线程共享多个堆。 Ptmalloc2中,两个线程同时调用malloc时,每...
2018-05-10 14:33:00 1074
原创 ptmalloc堆概述-mmap系统调用
ptmalloc堆概述-mmap系统调用1 概述malloc 会使用 mmap来创建独立的匿名映射段。匿名映射的目的主要是可以申请以0填充的内存,并且这块内存仅被调用进程所使用。 Malloc分配大于128KB时,直接使用mmap进行分配。2 Mmap2.1 API#include <sys/mman.h>void *mmap(void *addr, size_t length, in...
2018-05-10 14:24:13 701
原创 Ptmalloc堆概述-Brk系统调用
1 brk1.1 program break未初始化数据段末尾后的第一个位置;等于或超过此地址的地方均不可访问;增加program break可以为进程分配内存;减少program break则释放内存;初始时,堆的起始地址 start_brk 以及堆的当前末尾 brk 指向同一地址。根据是否开启ASLR,两者的具体位置会有所不同l 不开启 ASLR 保护时,start_brk 以及 brk 会指...
2018-05-10 14:16:54 770
Learning Linux Binary Analysis
2018-06-19
深入理解程序设计使用Linux汇编语言
2018-06-19
Learning the bash Shell, 3rd Edition(EN)
2008-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人