본문 바로가기

CTF_Write_UP/LOB

(21)
[LOB] death_knight Lord of Buffer Overflow [death_knight@localhost death_knight]$ ll total 4 -rw-r----- 1 death_kn death_kn 636 Mar 30 2010 dropped_item.txt 파일 하나를 얻었습니다. You're so great! This is a token to the next gate. ,. ,' `. ,' __ `. ,'.-'____`-.`. ,'_.-'' ``-._`. ,',' /\ `.`. ,' /.._ O / \ O _.,\ `. ,'/ / \ ``-;.--.:-'' / \ \`. ,' : : \ /\`.,'/\ / : : `. () `. : : / \/,'`.\/ \ ; ; ,..
[LOB] xavius 시작 안녕하세요 :D LOB 마지막 문제!! 휴가 때마다 천천히 풀다보니 엄청 오래 걸렸네요 ㅠㅠ 바로 시작해보죠!! Write UP [xavius@localhost xavius]$ cat death_knight.c /* The Lord of the BOF : The Fellowship of the BOF - dark knight - remote BOF */ #include #include #include #include #include #include #include #include #include main() { char buffer[40]; int server_fd, client_fd; struct sockaddr_in server_addr; struct sockaddr_in client_addr;..
[LOB] nightmare 시작 안녕하세요 :D 오랜만에 휴가, 오랜만에 LOB입니다. 2문제 정도 남은 걸로 알고있는데.. 이번에 끝을 보려구요 ㅎㅎ 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - xavius - arg */ #include #include #include main() { char buffer[40]; char *ret_addr; // overflow! fgets(buffer, 256, stdin); printf("%s\n", buffer); if(*(buffer+47) == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(*(buffer+47) == '\x08') { printf(..
[LOB] succubus 시작 안녕하세요!! LOB도 끝이 보입니다 ㅎㅎㅎ.. 길었네요 뒤로 갈 수록 파일 이름이나 라이브러리로 장난 안 치는 것 같아서 좋네요 ㅋㅋㅋㅋㅋㅋ 시작해보죠 :D Write UP /* The Lord of the BOF : The Fellowship of the BOF - nightmare - PLT */ #include #include #include #include main(int argc, char *argv[]) { char buffer[40]; char *addr; if(argc < 2){ printf("argv error\n"); exit(0); } // check address addr = (char *)&strcpy; if(memcmp(argv[1]+44, &addr, 4) != 0){ ..
[LOB] zombie_assassin 시작 안녕하세요!! :D 어제 14회 정보보안 산업기사 필기 시험을 봤습니다 ㅋㅋㅋㅋㅋㅋ 역대급 난이도였다던데.. 저도 간당간당 할 것 같네요 ㅠㅠ 자자 휴가 나왔을 때만 풀 수 있는 전설의 문제.. LOB.. 이번에 끝장을 봐야겠어요 ㅎㅎ 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - succubus - calling functions continuously */ #include #include #include // the inspector int check = 0; void MO(char *cmd) { if(check != 4) exit(0); printf("welcome to the MO!\n"); // olleh! sy..
[LOB] zombie 시작 안녕하세요!! :D 이번에도 이상한 곳에서 한참 삽질했습니다 ㅎㅎ.. 스택이 참 민감한 친구라는걸 매번 잊어버리네요ㅠ 이젠 마스터한 Fake EBP 문제, 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - zombie_assassin - FEBP */ #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(argv[1][47] == '\x40')..
[LOB] giant 시작 안녕하세요!! :D 이번 문제 풀면서 새로운 기법을 알게 됐습니다 ㅋㅋㅋㅋㅋ 똑똑이 분들이 많아요.. 어떻게 이런 생각을 하는지 대단합니다. 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - assassin - no stack, no RTL */ #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(argv[1][47] == '\x40') { ..
[LOB] bugbear 시작 안녕하세요 :D 덥네요.. 더워… 즐겁게 RTL2 문제를 풀어보도록 해요 ㅎㅎ RTL 체인을 만드는 문제가 나올 줄 알았는데 함수 하나만 쓰는 문제라 쪼끔 실망했습니다 ㅋㅋㅋㅋㅋㅋ 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - giant - RTL2 */ #include #include #include main(int argc, char *argv[]) { char buffer[40]; FILE *fp; char *lib_addr, *execve_offset, *execve_addr; char *ret; if(argc < 2){ printf("argv error\n"); exit(0); } // gain address o..