how2pwn | double-free利用剖析

2019年5月15日 0 条评论 61 次阅读 0 人点赞

环境:glibc2.23 demo   老样子首先从一个demo程序开始看起: #include <stdio.h> #include <stdlib.h> int main() { void *p1,*p2,*p3; unsigned long* ptr; p1=mallo…

how2pwn | unsafe-unlink利用剖析

2019年5月15日 0 条评论 50 次阅读 0 人点赞

环境:glibc2.23 demo   看到这了我就假设你已经看过我的malloc四部曲和free了,接下来我们将利用这些利用技巧来更深层次的理解内存管理。首先还是从简单的入手,假设有如下代码: #include <stdio.h> #include <stdlib.h> i…

Linux堆结构 | free原理跟踪分析

2019年5月13日 0 条评论 26 次阅读 0 人点赞

  free函数的讲解我们同样以hello,world程序开始,有如下代码: #include <stdio.h> #include <stdlib.h> int main() { free(malloc(0x100)); return 0; }   我们之前已经分析过了第一…

Linux堆结构 | malloc原理跟踪分析(四 | 完结)

2019年5月12日 0 条评论 31 次阅读 0 人点赞

  前三节我们已经分析完了对于第一次申请smallbin程序所做的一切工作,那么接下来根据hello,world程序,再分配一个0x20的fastbin会发生什么呢?我们还是从__libc_malloc开始看起: void * __libc_malloc (size_t bytes)…

Linux堆结构 | malloc原理跟踪分析(三)

2019年5月12日 0 条评论 55 次阅读 0 人点赞

  在这一节我们将完成第一节中我们所见所得的原理分析。话不多说,直接上源码: #define unsorted_chunks(M) (bin_at (M, 1)) #define bin_at(m, i) \ (mbinptr) (((char *) &((m)->bins[((i) …

Linux堆结构 | malloc原理跟踪分析(二)

2019年5月11日 0 条评论 34 次阅读 0 人点赞

  在上一个章节,我们已经大致认识到了malloc的堆块在内存中的结构,接下来我们就开始从源码角度分析内存分配的原理: void * __libc_malloc (size_t bytes) { mstate ar_ptr; void *victim; void *(*hook) (size_t, …

Linux堆结构 | malloc原理跟踪分析(一)

2019年5月11日 2 条评论 78 次阅读 2 人点赞

  跟puts函数一样,首先我们写一个简单的hello,world式程序,然后用glibc2.23的源码参考配合gdb分析: #include <stdio.h> #include <stdlib.h> int main() { void *p1,*p2,*p3; mallo…

_IO_FILE | 记一次对puts函数原理的跟踪

2019年5月9日 1 条评论 69 次阅读 2 人点赞

  首先,我们来看如下最简单的输出代码: #include <stdio.h> int main() { puts("hello,world"); puts("end"); return 0; }   接下来我们就根据glibc2.23中的源码结合gdb跟踪完成这一分析,首先看libio…

记一次CVE-2014-3791的简单复现

2019年5月8日 0 条评论 90 次阅读 0 人点赞

fuzzed by peach     第一次复现出了一个cve,虽然是很简单的栈溢出漏洞,但是好歹也是从fuzz到shellcode一步一步实现的。我使用了peach fuzz,初学建议先看一下peach的官网和文档,以及刚看完文档了解了基本语法之后需要一篇入门的例子(其转载自from-fuzzi…

how2kernel

2019年5月8日 1 条评论 59 次阅读 1 人点赞

专攻Linux下的kernel,从简单的开始入门。 Linux kernel版本会在文章开头处声明。 对应的实际例子或者cve以后再更新。 how2kernel Linux kernel环境搭建 null dereference stack smashing stack ROP heap ROP a…

加载更多