보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
32c3 CTF 2015 teufel mmap으로 mapping하는 부분과 mprotect로 권한 바꿔주는 부분을 잘 봐야 하는 문제, 아래 정보들을 가지고 익스플로잇을 하면 됨. (gdb) info proc exe process 30785 exe = '/root/pwnable/32c3CTF/teufel' (gdb) shell cat /proc/30785/maps ... 7ffff7ff3000-7ffff7ff4000 ---p 00000000 00:00 0 7ffff7ff4000-7ffff7ff5000 rw-p 00000000 00:00 0 [stack:30785] 7ffff7ff5000-7ffff7ff6000 ---p 00000000 00:00 0 ... (gdb) x/wx $rsp + 0x08 0x7f..
엄청어려워서 거의 못풀었지만 그만큼 좋은 문제가 많았던 32c3 ctf였던거 같다. https://github.com/ctfs/write-ups-2015/tree/master/32c3-ctf-2015 라이트업 보면서 공부하자 http://pastebin.com/Xd8jrhqV 처음에 풀때 &flag를 argv[0]에 넣어서 (오버플로우가 발생하니) stack_chk_fail에서 릭하는걸 목표로 했었는데도무지 canary messgae가 안나와서 거의 포기상태로 풀지 못했는데 LIBC_FATAL_STDERR_이라는 환경변수에 1을 넣어주면stderr도 출력 된다캄. 신기해! 그리고 flag는 원래 덮어씌워 져야 하지만 플래그를 fopen으로 가지고 오는게 아니라 바이너리에 직접 넣어줬기 때문에바이너리 영역..
보호되어 있는 글입니다.
보호되어 있는 글입니다.