Niebelungen
while (i < you) i++
DiceCTF2020DiceCTF题目好怪啊 interview在主函数有一个溢出,覆盖main的返回地址为_libc_strat_main
QLaaS这是我比较感兴趣的一个题目。在比赛时,我的思路是类似虚拟机逃逸,通过读写内存从而实现CPU的逃逸,为此我还去寻找了Unicorn的
SVME程序为一个简易的虚拟机,在Github上可以找到作者的源码,程序也没有去除符号。这个虚拟机更接近一个栈机器,它没有实现任何通用寄存器
kone_gadgetAdded to arch/x86/entry/syscalls/syscall_64.tbl 1 1337 64 seccon sys_seccon Added to kernel/sys.c: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SYSCALL_DEFINE1(seccon, unsigned long, rip) { asm volatile("xor %%edx, %%edx;" "xor %%ebx, %%ebx;" "xor %%ecx, %%ecx;" "xor %%edi, %%edi;" "xor %%esi, %%esi;" "xor %%r8d, %%r8d;" "xor %%r9d, %%r9d;" "xor %%r10d, %%r10d;" "xor %%r11d, %%r11d;" "xor %%r12d, %%r12d;" "xor
eebpf一道来自Tokyowesterns CTF 2020的内核题目。在做题之前,需要学习ebpf的相关知识。这里有一篇我的笔记。 Bug题目pa
filpbit源码提供: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <linux/kernel.h>#include <linux/init.h>#include <linux/sched.h>#include <linux/syscalls.h> #define MAXFLIT 1 #ifndef __NR_FLITBIP #define FLITBIP 333 #endif long flit_count = 0; EXPORT_SYMBOL(flit_count); SYSCALL_DEFINE2(flitbip, long *, addr, long, bit) { if (flit_count >= MAXFLIT) {
Kstack这个题目同样提供了源码。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 typedef struct _Element { int owner;