文章列表

16k 14 分钟

# house-of-apple 前言: 正好打 24 年羊城杯做了看了一道 house-of-apple 的题目,拿来水水 blog。 漏洞成因 堆溢出写,uaf 适用范围 2.23 —— 至今 程序从 main 函数返回或能调用 exit 函数 能泄露出 heap 地址和 libc 地址 能使用一次 largebin attack (一次即可) 接下来直接去将这道题的做题手法 # TravelGraph 利用手法 通过构造合理堆块,free 后残留指针泄露 libc 和 heap 利用堆风水,构造 1 次 largebin attack ,替换 _IO_list_all...
13k 11 分钟

# TFC CTF PWN # GUARD-THE-BYPASS 136 points PWN Luma 63 solves EASY Guard this cookie. Note: If you successfully create a working exploit in the provided Docker, ensure you try the exploit multiple times on the remote system if any issues...
3.7k 3 分钟

# 堆上格式化字符利用 # 利用思路: 在堆上利用格式化字符串,需要注意几个问题 其实和别的格式化字符串几乎一样,只不过可以多一个利用思路,可以解 system (’/bin/sh’) 写入 chunk 块,篡改 ebp 或 rbp,在有返回地址的情况下 leave ret 之后,进行栈迁移,迁到 system (’/bin/sh’) 那部分地址的 - 4 或 - 8...
13k 11 分钟

# house-of-rabbit 漏洞成因 堆溢出写、 use after free 、 edit after free 适用范围 2.23 —— 2.31 超过 0x400 大小的堆分配 可以写 fastbin 的 fd 或者 size 域 # 概要: 通过将 chunk 置入 fastbin 内,修改其 fd 指向 fake chunk,然后分配或释放大块,触发 malloc_consolidate ,此时 fake chunk 被放置到 unsortedbin 或对应的 smallbins 或 largebins 内 # 绕过检测: #define...
7.8k 7 分钟

# tcache-stashing-unlink-attack house-of-lore 结合 tcache 的一套攻击流程 漏洞成因 堆溢出、 use after free 、 edit after free 适用范围 2.23 —— 2.31 需要泄露或已知地址 # 概要: 通 uaf 修改 smallbin 大小的 free_chunk 的 bk 指针到目的地址,同时伪造目的地址的 fd 指针指向将被 free 的 chunk。从而实现获取一个任意地址分配的能力 # 绕过检测: if (__glibc_unlikely (bck->fd != victim))...
13k 12 分钟

# 0720_DASCTF_pwn # springboard 考察非栈上格式化字符串 Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x3fe000) 该程序是动态连接的 该程序有符号表可用 int __cdecl main(int argc, const char **argv, const char **envp){ int i; // [rsp+Ch] [rbp-4h] myinit(argc, argv, envp);...
3.8k 3 分钟

# house-of-force 漏洞成因 堆溢出写 适用范围 2.23 —— 2.27 可分配任意大小的 chunk 需要泄露或已知地址 # 概要: 堆溢出写 topchunk 的 size,使得 size 值很大。可以申请到一些可利用地址 # 绕过检测: victim = av->top;// 获取当前 top chunk 的地址 size = chunksize (victim);// 计算 top chunk 的大小 if ((unsigned long) (size) >= (unsigned long) (nb + MINSIZE)) //MINSIZE...
8.3k 8 分钟

# houes-of-orange 前言: 在此之前,我们短暂的了解了 IO_FILE。而 houes-of-orange 是一套结合 IO_FILE 的组合拳,威力巨大,但影响版本有限,随说影响范围小,但是学习这种攻击手法,可以让我们对于 IO_FILE 更加熟悉。 漏洞成因 堆溢出写 适用范围 2.23 —— 2.26 没有 free 可以 unsortedbin attack # 概要: 此攻击是堆与 IO 结合的组合拳,非常的经典。并且攻击中利用 top_chunk 的性质 # 绕过检测: /*Otherwise, relay to handle...
5.8k 5 分钟

# IO_FILE(1) 前言:为了好好学习 house-of-orange 的利用,先在 house-of-orange 专题之前写一些 IO_FILE 的利用 # _IO_FILE 结构 FILE 在 Linux 系统的标准 IO 库中是用于描述文件的结构,称为文件流。 FILE 结构在程序执行 fopen 等函数时会进行创建,并分配在堆中。我们常定义一个指向 FILE 结构的指针来接收这个返回值 —— 文件描述符(eg:stdin=0;stdout=1)。 在标准 I/O...
11k 10 分钟

# house-of-einherjar 漏洞成因 溢出写、 off by one 、 off by null 适用范围 2.23—— 至今 可分配大于处于 unsortedbin 的 chunk # 概要: 释放堆块时,unlink 后向合并堆块,强制使得 malloc 返回一个几乎任意地址的 chunk 。 free 的后向合并机制 /* consolidate backward */ if (!prev_inuse(p)) { prevsize = p->prev_size; size += prevsize; p =...