题目要求构造一个64位 ELF,读取flag输出到stdout,并以137号 exit code 退出。该ELF文件中不允许存在 syscall 和 int 0x80 两个指令,不允许存在WX段,且进程受seccomp的限制需要分别调用64位和32位系统调用才能完成题目要求。因此要解该题,则必须动态构造出syscall和int 0x80两条指令。其中syscall指令在vdso中存在,可以复用,重点是如何泄露vdso基址(利用 auxv 或者暴破)。对于 int 0x80 指令,在有了syscall后,mmap一段RWX的内存,将对应的机器码写入即可。基于64位和32位系统调用能力,就能愉快地解出该题目了(x86_64 linux无需切换架构,可直接调用int 0x80)。
构造一个最小ELF文件
以 PlaidCTF 2020 的题目 golf.so 为目标,深入了解 ELF 文件格式,尽可能构造出满足条件的最小 ELF 文件
0CTF/TCTF 2022 RisingStar Final ftpd (ARM Pwn)
第六届TCTF新星赛决赛的一道 ARM Pwn 题 - ftpd。(1)题目作者将ftpd处理客户端目录名的逻辑做了反转,引入一个memcpy堆溢出漏洞,可溢出服务端session结构体(struct ftp_session_t),其中包含函数指针和session链表指针。(2)利用首先想到溢出函数指针,但直接溢出到函数指针会破坏前序数据,导致提前崩溃。(3)因此考虑溢出session链表,即伪造一个session结构体。伪造的session内容可以通过STOR命令发送到session->file_buffer中且无任何输入限制,而session的地址在每次重启ftpd后相对于堆基址的偏移是固定的,因此通过RETR读取/proc/self/maps获得堆基址后,即可计算得到session->file_buffer地址,即用于溢出的伪造session地址。(4)伪造session中的函数指针并不会自动调用,需要通过STOR命令构造出等待客户端数据的状态,当客户端发送数据时触发。(5)最后使用system和ROP两种方法完成利用。
CVE-2019-2215 漏洞复现 - bad binder
CVE-2019-2215 的漏洞分析和利用
CVE-2015-1805 漏洞复现 - iovyroot
CVE-2015-1805 的漏洞分析和利用
CVE-2014-3153 漏洞复现 - towelroot
CVE-2014-3153 的漏洞分析和利用
为 pixel3 制作一根 KGDB 调试线
制作一根调试线,用 KGDB 调试 pixel3 android 11 内核
GeekCon AVSS 2023 Qualifier - kSysRace
GeekCon 2023 AVSS 初赛 kSysRace题解
GeekCon AVSS 2023 Qualifier - kSysUAF
GeekCon 2023 AVSS 初赛 kSysUAF题解
arm64 linux内核中memcpy是如何运作的?
arm64 linux 内核中 memcpy 函数对应的汇编代码在 memcpy_template.S 文件中,探索一下具体的拷贝操作是如何执行的呢?
GeekCon AVSS 2023 Qualifier - kStackOverflow
GeekCon 2023 AVSS 初赛 kStackOverflow 题解
GeekCon AVSS 2023 初赛示例题 CVE-2015-3636
Geekcon 2023 AVSS挑战赛的说明文档中,用 CVE-2015-3636 这个漏洞作为示例,展示了同一个漏洞在不同环境中(android 5/7/11)进行利用所面临的挑战。(没想到又碰到了这个漏洞hhh
SCTF 2023 Kernel Pwn Sycrop
终于~ 拿到一个内核pwn的flag了!
x64 Linux 虚拟内存分布图
一篇需要慢慢完善的博客,深入理解linux内存管理的虚拟内存分布图(virtual memory map)
电视端常用视频app包名和MainActivity名整理
电视端常用视频app包名和MainActivity名整理
linux namespace、cgroup 及 capabilities
简单记录
CVE-2021-4154 漏洞分析及利用
完成了dirtycred利用方法的复现,cross-cache的之后再研究
经典内核漏洞复现之 dirtypipe
跟dirtycow太像了,不过比dirtycow好用,不需要竞争。漏洞被发现的过程也很有意思
基于 dirtycow 的几种提权思路
整理复现了几种基于dirtycow提权思路
经典内核漏洞复现之 dirtycow
虽然学了一阵内核pwn的利用,但是最近两次比赛都没能做出题来(太难了吧ㄒ_ㄒ,感觉新手友好的ko题不会再有了)。我还是老老实实分析分析CVE,学多点挖洞和利用技巧吧🥹。