Hackappatoi CTF 2022 - [PWN] heap baby v2
·
CTF/Solved
1. intro 2. code 및 분석 2.1. code int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { unsigned int choice; // [rsp+1Ch] [rbp-4h] setup(); while ( 1 ) { choice = menu(); if ( choice == 3 ) break; if ( choice 4 ) { puts("nope is not a place that!"); } else { user_idx *= 2; v0 = user_idx; user_tuples[v0] = (char *)malloc(0x10uLL); v1 = user_idx + 1; user_tuples[v1] = (char *..
uaf_overwrite
·
Wargame/Dreamhack
// Name: uaf_overwrite.c // Compile: gcc -o uaf_overwrite uaf_overwrite.c #include #include #include #include struct Human { char name[16]; int weight; long age; }; struct Robot { char name[16]; int weight; void (*fptr)(); }; struct Human *human; struct Robot *robot; char *custom[10]; int c_idx; void print_name() { printf("Name: %s\n", robot->name); } void menu() { printf("1. Human\n"); printf("..
[App-System] ELF x86 - Use After Free - basic
·
Wargame/Root me
1. intro 2. code 및 분석 2.1. code #include #include #include #include #define BUFLEN 64 struct Dog { char name[12]; void (*bark)(); void (*bringBackTheFlag)(); void (*death)(struct Dog*); }; struct DogHouse{ char address[16]; char name[8]; }; int eraseNl(char* line){ for(;*line != '\n'; line++); *line = 0; return 0; } void bark(){ int i; for(i = 3; i > 0; i--){ puts("UAF!!!"); sleep(1); } } void b..