Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kaiserr en 31 Mayo 2015, 21:29 pm



Título: [BASH]capturar parte de un output
Publicado por: kaiserr en 31 Mayo 2015, 21:29 pm
Hola gente :)

INTRO:
Estaba practicando el tema de exploiting y siguiendo un código de ejemplo, muy básico y rudimentario, he pensado que me ahorraría trabajo si pudiera capturar el output de la ejecución del exploit para luego hacer una condición con este. Solo se lo básico de bash y nose si lo que quiero hacer es posible.

Me explico:
El exploit siempre hace un print de una frase con la dirección de memoria que se ha utilizado para realizar un buffer overflow. Por otro lado, si el exploit falla, sale el típico mensaje de:
Citar
Violación de segmento ('core' generado)

Lo que quiero es ejecutar el programa X veces hasta que el mensaje que lance el exploit no tenga la frase anterior:
Citar
Violación de segmento ('core' generado)

Si todo el output del exploit fuera constante no habría problema, pero al mostrar la direccion de memoria en función de un offset que le indico, nose como hacerlo.

Espero haberme explicado :)

Gracias!


Título: Re: [BASH]capturar parte de un output
Publicado por: daryo en 3 Junio 2015, 16:11 pm
crea una variable con la salida del comando
Código
  1. variable=$(echo core generado )

luego ya solo tienes que hacer un while , mientras sea igual a "core generado" se vuelve a ejecutar y guarda el contenido de la salida en la variable


Título: Re: [BASH]capturar parte de un output
Publicado por: kaiserr en 3 Junio 2015, 16:18 pm
Gracias por responder daryo.

Esa solución es la que había pensado, pero el problema es que el output del comando tiene una parte fija que saldrá siempre, se haya realizado bien o mal, y una parte variable, que dependerá de si se ha ejecutado bien o mal.

Entonces hay alguna forma de coger una parte del output? por ejemplo, buscar la palabra Violación dentro del output.

Saludos.


Título: Re: [BASH]capturar parte de un output
Publicado por: daryo en 3 Junio 2015, 16:32 pm
sep tienes muchas opciones para manejar cadenas dentro de bash a mi personalmente me gusta awk
si quisieras por ejemplo tener la linea en que esta la palabra violacion

echo $variable | grep Violacion


Título: Re: [BASH]capturar parte de un output
Publicado por: kaiserr en 3 Junio 2015, 16:37 pm
cierto... pregunta tonta  :silbar:

La verdad es que cuando había pensado la pregunta no se me ocurrio lo de buscar una palabra en el output jaja

Gracias!