shellcode

«Уязвимость предоставляет язык ассемблера для компьютера, на котором никогда не программировали и который не был спроектирован с расчётом на программируемость».
-- Halvar Flake
Коллекция новых и старых примеров shellcode.

Статья
Shellcode
x86
- setuid-linux.c. Старый setuid/execve shellcode для Linux/x86 (30 байт).
- portbind-linux.c. Старый setuid/portbind shellcode для Linux/x86 (96 байт).
- reusage-linux.c. Старый execve shellcode для Linux/x86, повторно использующий "/bin/sh" в .rodata (16 байт).
- gets-linux.c. Старый stdin-reopen/execve shellcode для Linux/x86, полезный против переполнений буфера gets().
- raptorcode.c. Старый shellcode для Linux/x86, записывающий сообщение в текущий tty.
- setuid-bsd.c. Старый setuid/execve shellcode для BSD/x86 (30 байт).
- portbind-bsd.c. Старый setuid/portbind shellcode для BSD/x86 (94 байта).
- leetcode.c. Старый setuid/execve shellcode для BSD/x86 с ASCII-сообщением, спрятанным в коде.
x86_64
SPARC
MIPS