C 语言版本 Shellcode
Section outline
-
Shellcode 是基本的一段代码,用于启动一个 shell 程序。如果我们用 C 语言实现它,看起来会像下面这样:、
#include <stdio.h> int main() { char *name[2]; name[0] = "/bin/sh"; name[1] = NULL; execve(name[0], name, NULL); }
不幸的是,我们不能直接编译这段代码并将二进制文件作为我们的 shellcode 使用(关于此的详细解释在 SEED 书籍中有提供)。编写 Shellcode 的最佳方式是使用汇编语言。在这个实验中,我们仅提供了 Shellcode 的二进制版本而没有对其进行解释(这是因为比较复杂,具体可参阅 Shellcode 实验)