[HITCON 2016 CTF] Secret Holder # file SecretHolder SecretHolder: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=1d9395599b8df48778b25667e94e367debccf293, stripped [*] '/ctf/SecretHolder' Arch: amd64-64-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE 해당 바이너리의 기능에 대해 간략히 설명하자면, keep_secret() 함수에서는 40.. 더보기 [how2heap translation] unsafe_unlink.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #include #include #include #include uint64_t *chunk0_ptr; int main() { printf("Welcome to unsafe unlink 2.0!\n"); printf("Tested in Ubuntu 14.04/16.04 64bit.\n"); printf("This technique can be used when you have a pointer at a known loc.. 더보기 [CodeGate 2017 CTF] angrybird angr 을 이용한 문제이다. ida 를 통해 열어보면 fgets() 가 있음에도 파일을 실행했을 때 어떠한 입력을 받지 않는다. patch 를 통해 정상적으로 입력받을 수 있도록 한다. 그리고 exploit 코드를 돌리면 끝. #exploit.py import angr proj = angr.Project("./angrybird", load_options={'auto_load_libs':False}) path_group = proj.factory.path_group(threads=4) path_group.explore(find=0x404fda, avoid=0x404f97) print path_group.found[0].state.posix.dumps(0) 더보기 이전 1 ··· 11 12 13 14 15 16 17 ··· 46 다음