목록War Game (174)
tmxklab

1. 문제 nc svc.pwnable.xyz 30037 1) mitigation 확인 2) 문제 확인 차를 구입하거나 판매, 리모델링, 출력해줄 수 있는 프로그램 3) 코드흐름 파악 3-1) buy() int buy() { int result; // eax unsigned int i; // [rsp+8h] [rbp-20h] signed int index; // [rsp+Ch] [rbp-1Ch] __int64 j; // [rsp+10h] [rbp-18h] _DWORD *car; // [rsp+18h] [rbp-10h] puts("Which car would you like to buy?"); for ( i = 0; i 9 ) return puts("Invalid"); car = malloc(0x20uLL)..

1. 문제 nc svc.pwnable.xyz 30036 1) mitigation 확인 2) 문제 확인 어떤 문자열을 계속 이어 붙이는 것 같다. 3) 코드흐름 파악 3-1) main() int __cdecl main(int argc, const char **argv, const char **envp) { setup(argc, argv, envp); puts("Fill in the missing..."); while ( 1 ) { print_menu(); switch ( (unsigned __int64)(unsigned int)read_int32() ) { case 1uLL: fill_letters(); break; case 2uLL: fill_numbers(); break; case 3uLL: fill_..

1. 문제 nc svc.pwnable.xyz 30035 1) mitigation 확인 2) 문제 확인 3) 코드흐름 파악 3-1) main() int __cdecl main(int argc, const char **argv, const char **envp) { setup(argc, argv, envp); printf("Name your notebook: "); readline(&nbook, 128LL, 10LL); while ( 1 ) { print_menu(); switch ( (unsigned __int64)(unsigned int)read_int() ) { case 0uLL: return 0; case 1uLL: make_note(); break; case 2uLL: edit_note(); bre..

1. 문제 nc svc.pwnable.xyz 30034 1) mitigation 확인 2) 문제 확인 3) 코드흐름 파악 3-1) main() -> do_chat() void __noreturn do_chat() { __int64 v0; // [rsp+0h] [rbp-120h] char *ptr; // [rsp+8h] [rbp-118h] char s; // [rsp+10h] [rbp-110h] unsigned __int64 v3; // [rsp+118h] [rbp-8h] v3 = __readfsqword(0x28u); v0 = 0LL; while ( 1 ) { memset(&s, 0, 0xFFuLL); printf("@you> "); read(0, &s, 0xFFuLL); ptr = strdup(&s);..

1. 문제 nc svc.pwnable.xyz 30033 1) mitigation 확인 2) 문제 확인 어떤 임의의 주소와 값을 입력으로 받고 있다. 3) 코드흐름 파악 3-1) main() int __cdecl main(int argc, const char **argv, const char **envp) { char *s; // [rsp+0h] [rbp-10h] __int64 v5; // [rsp+8h] [rbp-8h] setup(argc, argv, envp); puts("Dirty Turtle Off-RoadS"); printf("Addr: "); s = (char *)get_val(); printf("Value: "); v5 = get_val(); if ( v5 ) *(_QWORD *)s = v5;..

1. 문제 nc svc.pwnable.xyz 30032 1) mitigation 확인 2) 문제 확인 3) 코드흐름 파악 3-1) main() int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax setup(argc, argv, envp); while ( 1 ) { while ( 1 ) { printMenu(); v3 = getInt(); if ( v3 != 2 ) break; usePower(); } if ( v3 > 2 ) { if ( v3 == 3 ) { deleteHero(); } else { if ( v3 == 4 ) { puts("goodbye!"); exit(1); } LABEL_..

1. 문제 nc svc.pwnable.xyz 30030 1) mitigation 확인 2) 문제 확인 4개의 메뉴가 보이며 노트를 작성할 수 있고 출력, 삭제 기능이 보인다. 3) 코드흐름 파악 3-1) main() int __cdecl main(int argc, const char **argv, const char **envp) { setup(argc, argv, envp); puts("Note taking 102."); while ( 1 ) { print_menu(); switch ( (unsigned __int64)(unsigned int)read_int32() ) { case 0uLL: return 0; case 1uLL: make_note(); break; case 2uLL: edit_note(..

1. 문제 nc svc.pwnable.xyz 30028 1) mitigation 확인 2) 문제 확인 3) 코드흐름 파악 3-1) main() int __cdecl main(int argc, const char **argv, const char **envp) { int result; // eax _QWORD *v4; // rax __int64 v5; // rdx int i; // [rsp+0h] [rbp-20h] int fd; // [rsp+4h] [rbp-1Ch] setup(argc, argv, envp); solve_pow(); puts("Shellcode executioner"); fd = open("/dev/urandom", 0); if ( fd == -1 ) { puts("error"); res..

1. 문제 nc svc.pwnable.xyz 30027 1) mitigation 확인 2) 문제 확인 계속 입력을 받을 수 있고 score가 계속 깎이고 있다. 3) 코드흐름 파악 3-1) main() __int64 __fastcall main(__int64 a1, char **a2, char **a3) { init_func(); puts("Yolo yada yada - Play with me!"); puts("==========================================="); start_main(); return 0LL; } 3-2) start_main() unsigned __int64 start_main() { size_t v0; // rax size_t v2; // rax char ..

1. 문제 nc svc.pwnable.xyz 30026 1) mitigation 확인 2) 문제 확인 3) 코드흐름 파악 3-1) main() int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax int v4; // [rsp+0h] [rbp-20h] size_t n; // [rsp+8h] [rbp-18h] void *s; // [rsp+10h] [rbp-10h] unsigned __int64 v7; // [rsp+18h] [rbp-8h] v7 = __readfsqword(0x28u); setup(argc, argv, envp); puts("Secure login."); printf("User ..