As opposed to executing an existing function in the binary, this time we’ll be introducing the concept of “shell code”, and being able to execute our own code.
Hints
/* * phoenix/stack-five, by https://exploit.education * * Can you execve("/bin/sh", ...) ? * * What is green and goes to summer camp? A brussel scout. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #define BANNER \ "Welcome to " LEVELNAME ", brought to you by https://exploit.education" char *gets(char *); void start_level() { char buffer[128]; gets(buffer); } int main(int argc, char **argv) { printf("%s\n", BANNER); start_level(); }