Назад к обновлениям
UpdatedAug 7, 2026

shellcode — Updated!

Коллекция моих примеров shellcode.

Поделиться

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

  • read-no-H.s. Linux/x86_64 sendfile shellcode без байтов 0x48.
  • exec-no-H.s. Linux/x86_64 exec shellcode без байтов 0x48.
  • read-no-syscall.s. Linux/x86_64 sendfile shellcode без байтов 0x0f05.
  • read-write.s. Linux/x86_64 shellcode для чтения/записи файлов.
  • chmod-tiny.s. 12-байтовый Linux/x86_64 chmod 4 shellcode.
  • exec-tiny.s. 12-байтовый Linux/x86_64 exec shellcode.

SPARC

MIPS

Категории