This level shows how format strings can be used to modify arbitrary memory locations.
Hints
This level is at /opt/protostar/bin/format1
#include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> int target; void vuln(char *string) { printf(string); if(target) { printf("you have modified the target :)\n"); } } int main(int argc, char **argv) { vuln(argv[1]); }