[DreamHack] basic_exploitation_000
드림핵 System Hacking 워게임 basic_exploitation_000 문제이다. #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } int main(int argc, char *argv[]) { char buf[0x80]; initialize(); printf("buf = (%p)\n", buf); scanf("%141s", buf); return 0; ..
[DreamHack] Return Address Overwrite
드림핵 System Hacking 워게임 Return Address Overwrite 문제이다. #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } void get_shell() { char *cmd = "/bin/sh"; char *args[] = {cmd, NULL}; execve(cmd, args, NULL); } int main() { char buf[0x28]; init(); printf("Input: "); scanf("%s", buf); return 0; } 1. 프로그램 분석 크기가 40바이트인 버퍼에 scanf로 입력받은 문자열을 저장하는 프로그램이다. 2. 취약점 분석 scanf("%s"..