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 实验)