shellcode

“漏洞为一台从未被编程过、且并非为可编程性而设计的计算机提供了一种汇编语言。”
-- Halvar Flake
一系列新旧 shellcode 样本。

文章
Shellcode
x86
- setuid-linux.c。适用于 Linux/x86 的旧版 setuid/execve shellcode(30 字节)。
- portbind-linux.c。适用于 Linux/x86 的旧版 setuid/portbind shellcode(96 字节)。
- reusage-linux.c。适用于 Linux/x86 的旧版 execve shellcode,重用 .rodata 中的 "/bin/sh"(16 字节)。
- gets-linux.c。适用于 Linux/x86 的旧版 stdin-reopen/execve shellcode,可用于对抗 gets() 缓冲区溢出。
- raptorcode.c。适用于 Linux/x86 的旧版 shellcode,向当前 tty 写入一条消息。
- setuid-bsd.c。适用于 BSD/x86 的旧版 setuid/execve shellcode(30 字节)。
- portbind-bsd.c。适用于 BSD/x86 的旧版 setuid/portbind shellcode(94 字节)。
- leetcode.c。适用于 BSD/x86 的旧版 setuid/execve shellcode,代码中嵌入了一条 ASCII 消息。
x86_64
SPARC
MIPS