Solución Reto Overflow CTF


konde_morr

Destape del HACENDADO
Noderador
Nodero
Noder
Hay dos : vuln.c es el codigo que hay ahi pegado, y despues el ejecutable(vuln) , que es el .c compilado y listo para ejecutar

El .c lo puedes abrir en la consola con un cat cualquier comando del estilo o cualquier editor de texto, desde el bloc de notas al geany al sublime al que quieras y el ejecutable como ves en las capturas se ejecuta
para el codigo he usado notepad++ pero ya no sabía que hacer
 

konde_morr

Destape del HACENDADO
Noderador
Nodero
Noder
Hay dos : vuln.c es el codigo que hay ahi pegado, y despues el ejecutable(vuln) , que es el .c compilado y listo para ejecutar

El .c lo puedes abrir en la consola con un cat cualquier comando del estilo o cualquier editor de texto, desde el bloc de notas al geany al sublime al que quieras y el ejecutable como ves en las capturas se ejecuta
y el ejecutable no se ejecutaba
 

Thegjv

Moder fav <3
Noderador
Nodero
Noder
Mandame el post de referencia antes de la solución y asi puedo hacerlo como una maquina ya retirada de htb. Lo intento ysi no puedo tiro de tuto
 

KTaneR

Activo muy miembro
Burgués de Nodo
Noderador
Nodero
Noder
y el ejecutable no se ejecutaba
La verdad que en windows me pillas un poco, no se muy bien que herramientas debes usar, pero te recomiendo tirar de google o instalarte una virtual box con algun sistema basado en linux
 

Thegjv

Moder fav <3
Noderador
Nodero
Noder
La verdad que en windows me pillas un poco, no se muy bien que herramientas debes usar, pero te recomiendo tirar de google o instalarte una virtual box con algun sistema basado en linux
[Ejem] Kali [Ejem] Parrot [Ejem], perdon, la tos del ejem
 
  • Hahaha
Reacciones : KTaneR

Thegjv

Moder fav <3
Noderador
Nodero
Noder
Vale, estoy con la uni y me daba pereza asi q me he decantado por leerlo. Tengo varias dudas ya que no había visto nada por el estilo antes. Me imagino que las 4Bs es para que te salga 42424242 no? Segundo como llegas a la conclusión para usar objdump, tercero para los que se pregunten lo de little endian como yo https://es.wikipedia.org/wiki/Endianness y por último, me imagino q en caso de formar parte de una máquina virtual lo último sería que te mandase una flag al poner esa address no?
 
  • Like
Reacciones : KTaneR

KTaneR

Activo muy miembro
Burgués de Nodo
Noderador
Nodero
Noder
@Thegjv

Me imagino que las 4Bs es para que te salga 42424242 no?

Yo estoy poniendo As porque si, puedes poner cualquier cosa hasta que llenes todo el buffer y entonces lo que metas sobrescriba el return addres.
Cuando lo sobrescribes si solo has metido un carácter nunca sabes donde exactamente empiezas a sobrescribir lo y entonces no puedes controlar el salto a la siguiente función.
Yo le meto Bs para que cuando se sobreescriba llegue un punto que me ponga 41414242 o 42 solo, en cuando haga 4 veces 42 (osea las 4 Bs que he metido) se que ese es el numero de caracteres que tengo que meter antes de empezar a escribir en el return addres (el numero de caracteres que haya antes de que aparezca las Bs llenando el buffer)

como llegas a la conclusión para usar objdump

Realmente da igual el metodo que uses, en cuanto tienes el return address con lo de arriba, lo que tienes que hacer es meter la direccion de a donde quieres saltar.
En mi caso era el primer reto que hacia de este estilo, así que, buscando en google como obtener la direccion de una funcion xd encontre varios metodos y este me funciono.

tercero para los que se pregunten lo de little endian como yo https://es.wikipedia.org/wiki/Endianness

Tampoco soy un experto, repito, que es la primera vez que hacia algo así, así que tampoco he indagado a fondo, se supone que asi se almacenan las direcciones pero no se si en todos los casos, se ve que en este caso si.
*edito : del enlace que pasa khea mas abajo, he leido la siguiente frase, asi que la dejo por aqui " Sabemos que las variables se guardan en memoria de abajo para arriba. "

imagino q en caso de formar parte de una máquina virtual lo último sería que te mandase una flag al poner esa address no

Lo comento en los dos post, este reto me lo dio @w4n44Die para qe lo intentara, y no me paso el txt con la flag, pero como ves en la función si no tienes el txt salta el mensaje que me ha saltado, así que hemos completado el reto. Pero si, si tuviéramos el txt habría salido la flag.

Bueno si no has entendido algo intento explicartelo de nuevo. Espero que te haya gustado.
 
Última edición:

Khea

Soy khea bro
Noder
Buen post!
Te animo a que intentes ir a por un servicio remoto vulnerable a BOF!

Khea,
 
  • Maravilloso
Reacciones : KTaneR

KTaneR

Activo muy miembro
Burgués de Nodo
Noderador
Nodero
Noder
Buen post!
Te animo a que intentes ir a por un servicio remoto vulnerable a BOF!

Khea,
Bueno la verdad que es el primero reto que hago jajaja asi qje poco a poco supongo.

Gracias por tus palabras, animan a seguir subiendo cosas!
 

ColesCo

"To W.W. My Perfect Silence"
Noderador
Nodero
Noder
Gracias Taner por el reto y tus enseñanzas. 10/10

Screenshot_2020-07-26 Solución Reto Overflow CTF - ⚡ Nodo313 Más que un foro.png
 
Última edición:
  • Hahaha
Reacciones : destapeman y KTaneR