跳到主要内容

12 篇博文 含有标签「CTF」

查看所有标签

「PWN」CVE-2023-4911 复现

· 阅读需 28 分钟
Muel - Nova
Anime Would PWN This WORLD into 2D

最近接触到了这个洞,感觉利用面还是挺广的,虽然国内绝大多数机子似乎 libc 版本都挺低的(),总而言之先调调看看吧。

环境搭建

测试环境

OS: Ubuntu 22.04.1 LTS on Windows 10 x86_64

Kernel: 5.15.123.1-microsoft-standard-WSL2

Glibc: 2.35-0ubuntu3.3

「PWN」CVE-2018-1160 的调试与 1-day exploit 编写

· 阅读需 15 分钟
Muel - Nova
Anime Would PWN This WORLD into 2D

附件下载: https://pwnable.tw/static/chall/netatalk.tgz + https://pwnable.tw/static/libc/libc-18292bd12d37bfaf58e8dded9db7f1f5da1192cb.so

耗时大概 1.5 天,总体来说是非常好的一次调试与复现,不止学到了一些利用及调试技巧,也对思路的扩展非常有帮助。

漏洞的发现过程在作者的 Exploiting an 18 Year Old Bug. A Write-up for CVE-2018–1160 | by Jacob Baines 中写的非常清楚,非常精彩。你也可以在 Netatalk CVE-2018-1160的发现与利用_c01dkit的博客-CSDN博客 找到翻译版。

这个洞在作者的 BLOG 中提到只能在 -no-pie 的 NAS 上利用。但是 hitcon 2019 出题的 DDAA 佬在 HITCON CTF 2019 Pwn 371 Netatalk (ddaa.tw) 给出了利用思路,简而言之就是利用 fork 的性质,即子进程不会改变 memory layout —— 换言之,ASLR 只起到了非常微小的作用(笑),如此一来,我们就可以通过侧信道暴露出一个合法地址,再进行利用。

Malloc的源码审计

· 阅读需 30 分钟
Muel - Nova
Anime Would PWN This WORLD into 2D

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

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

「PWN」HEAP - Fastbin - Double Free

· 阅读需 10 分钟
Muel - Nova
Anime Would PWN This WORLD into 2D

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

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

在中也有相应的源码

「PWN」最基础的 ret2csu

· 阅读需 4 分钟
Muel - Nova
Anime Would PWN This WORLD into 2D

0x01 为什么需要ret2csu?

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