pwnable.xyz / attack
바이너리를 처음 봤을 때 구조가 다소 복잡해서 분석이 쉽지 않았다. 입력을 받는 지점을 기준 삼아 대략 30분 가까이 분석을 진행하면 중, 아래와 같은 버그를 발견할 수 있었다. if ( buf[0] == 'y' ) { printf("Name for your equip: "); memset(&player_trea.Equip, 0, 0x20uLL); fgets(player_trea.Equip.Name, 32, stdin); player_trea.Equip.DefValue = get_rand_range(1000LL); printf("That's some neat equip, you created there. Is has a def value of %lu\n", player_trea.Equip.DefValue..