la cosa es asi, me tope con un problema que hace dias no puedo resolver y me puse a recordar con nostalgias las epocas de buscar ayuda en foros. A todo esto: sorpresa ! Pese a tener 8 años mi cuenta seguia abierta ! Alegria de estar publicando en este gran foro de nuevo !
Vamos a los bifes. testeando contra una aplicacion, un servidor TFTP de antaño, encontre un lindo Seg. Fault a la hora de ejecutar GET /<nombre de archivo>
Siguiendo la logica comun en estos casos levanto a mi buen gdb y me pongo a jugar con el fuzzer.
Citar
tftp> server 192.168.0.105
tftp> GET archivo_existente.txt // Lo recibo OK !
tftp> GET A x 1000 // Archivo inexistente, pero todo ok !
tftp> GET A x 1535 // Seg. Fault y crash
tftp> GET archivo_existente.txt // Lo recibo OK !
tftp> GET A x 1000 // Archivo inexistente, pero todo ok !
tftp> GET A x 1535 // Seg. Fault y crash
Hasta todo bien y es ahora donde comienza mi duda. Veamos el gdb.
Todas las pruebas que hice, despues de los 1535 caracteres sobreescriben el registro RBX.
Mi intencion con todo esto es sobreescribir el RIP para seguir adelante con la shellcode
Es la primera vez que intento explotar bajo 64bit. Veo que tienen sus diferencias con 32bit.
Bueno ahi dejo posteada la duda, si alguno quiere aportar alguna ayuda o critica, genial !
Saludos