跳到主要内容

「PWN」House_of_Spirit

· 阅读需 4 分钟
MuelNova
Pwner who wants to write codes.

看看House_of_spirit,这是一种依靠在栈上构造fake_chunk从而实现(almost) arbitrary write的技术。依赖fastbin

Malloc的源码审计

· 阅读需 30 分钟
MuelNova
Pwner who wants to write codes.

Malloc的深入分析与可利用点分析

不知不觉已经 2 个月没更BLOG了,因为这两个月我确实是基本没看过CTF(一段时间是拿去代练赚我上头消费花掉的神里绫华的嫁妆了,另一段时间则是拿去做开发了)。今天有闲心又把下的题拿出来看了一看,发现别说堆了,我连gdb怎么用都忘了()

「PWN」堆的第一次尝试 - UseAfterFree

· 阅读需 5 分钟
MuelNova
Pwner who wants to write codes.

磨磨蹭蹭这么久也总算是入 HEAP 的坑了

感谢 Ayoung 不开之恩(bushi)

先来看一下最简单的Use After Free利用,对堆的知识需求很低。明天估计会写一个Double Free + Unlink

用的是CTF-WIKI的原题hacknote

「PWN」HEAP - Fastbin - Double Free

· 阅读需 10 分钟
MuelNova
Pwner who wants to write codes.

Double Free 是 Fastbin 里比较容易的一个利用,搞一下

整体原理比较简单,在ctf-wiki上可以看到。主要就是因为 fastbin 在检查时只检查链表头部且释放时不清除prev_in_use

在中也有相应的源码

「PWN」最基础的 ret2csu

· 阅读需 4 分钟
MuelNova
Pwner who wants to write codes.

0x01 为什么需要 ret2csu?

在 64bits 的 ELF 文件中,函数调用的前六个参数是分别存放在rdi、rsi、rdx、rcx、r8、r9这六个寄存器当中的,而我们在实际构建 ROP 时很难找到对应的 gadgets(大部分情况下是找不到 rdx),而 ret2csu 的关键点就在于使用__libc_csu_init()来获取两个 gadgets 来进行万能传参(同时泄露出函数真实地址)

Linux下的动态链接机制

· 阅读需 6 分钟
MuelNova
Pwner who wants to write codes.

摸了一个月,终于开始整 PWN 辣


Linux 的动态链接机制

动态链接和静态链接

在生成可执行文件[^1]时,通常要经过编译、链接两个阶段。动态链接静态链接即在链接阶段使用不同方法的两种机制。