shellcode

“脆弱性は、これまでプログラムされたことがなく、プログラマビリティを念頭に設計されていないコンピュータに、アセンブリ言語を提供する。”
-- Halvar Flake
新旧のシェルコードサンプルのコレクションです。

記事
シェルコード
x86
- setuid-linux.c. Linux/x86 用の古い setuid/execve シェルコード(30バイト)。
- portbind-linux.c. Linux/x86 用の古い setuid/portbind シェルコード(96バイト)。
- reusage-linux.c. .rodata 内の "/bin/sh" を再利用する Linux/x86 用の古い execve シェルコード(16バイト)。
- gets-linux.c. gets() バッファオーバーフローに対して有効な、Linux/x86 用の古い stdin 再オープン/execve シェルコード。
- raptorcode.c. 現在の tty にメッセージを書き込む Linux/x86 用の古いシェルコード。
- setuid-bsd.c. BSD/x86 用の古い setuid/execve シェルコード(30バイト)。
- portbind-bsd.c. BSD/x86 用の古い setuid/portbind シェルコード(94バイト)。
- leetcode.c. コード内に ASCII メッセージが埋め込まれた BSD/x86 用の古い setuid/execve シェルコード。
x86_64
SPARC
MIPS