
UpdatedAug 7, 2026
shellcode — Updated!
Una raccolta dei miei esempi di shellcode.
shellcode
“Una vulnerabilità fornisce un linguaggio assembly per un computer che non è mai stato programmato prima, e che non è stato progettato pensando alla programmabilità.”
-- Halvar Flake
Una raccolta di esempi di shellcode nuovi e vecchi.

Articolo
Shellcode
x86
- setuid-linux.c. Vecchio shellcode setuid/execve per Linux/x86 (30 byte).
- portbind-linux.c. Vecchio shellcode setuid/portbind per Linux/x86 (96 byte).
- reusage-linux.c. Vecchio shellcode execve per Linux/x86 che riutilizza "/bin/sh" in .rodata (16 byte).
- gets-linux.c. Vecchio shellcode stdin-reopen/execve per Linux/x86, utile contro gli overflow del buffer di gets().
- raptorcode.c. Vecchio shellcode per Linux/x86 che scrive un messaggio sulla tty corrente.
- setuid-bsd.c. Vecchio shellcode setuid/execve per BSD/x86 (30 byte).
- portbind-bsd.c. Vecchio shellcode setuid/portbind per BSD/x86 (94 byte).
- leetcode.c. Vecchio shellcode setuid/execve per BSD/x86, con un messaggio ASCII nascosto nel codice.
x86_64
- read-no-H.s. Shellcode sendfile per Linux/x86_64 senza byte 0x48.
- exec-no-H.s. Shellcode exec per Linux/x86_64 senza byte 0x48.
- read-no-syscall.s. Shellcode sendfile per Linux/x86_64 senza byte 0x0f05.
- read-write.s. Shellcode di lettura/scrittura di file per Linux/x86_64.
- chmod-tiny.s. Shellcode chmod 4 per Linux/x86_64 di 12 byte.
- exec-tiny.s. Shellcode exec per Linux/x86_64 di 12 byte.
SPARC
- sparc_solaris_exec.c. Shellcode setuid/execve per Solaris/SPARC (60 byte).
- sparc_solaris_chmod.c. Shellcode setuid/chmod/exit per Solaris/SPARC (64 byte).
- sparc_solaris_chmod2.c. Shellcode chmod per Solaris/SPARC molto piccolo (36 byte).
MIPS
- mips_n32_msb_linux_revsh.c. Shellcode reverse di base per MIPS N32 MSB Linux.