Comando embebido linux

Iniciado por nuclan, Julio 22, 2015, 12:13:06 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 22, 2015, 12:13:06 PM Ultima modificación: Julio 22, 2015, 12:51:44 PM por Gabriela
Hola, tengo un quebradero de cabeza impresinante y espero que alguien sepa echarme una mano.

La cuestion es que para un exploitme quiero ejecutar un comando, en este caso uno de python, dentro de un programa que pide el nombre.

Me explico: lo normal seria ./exploitme $(python -c 'print "A"*100') y seria lo mismo que si de parametro le pasara 100 A

Pero en este caso los parametros me los pregunta una vez que he ejecutado el archivo

Código: php
./exploitme
Hola! Dime tu nombre: $(python -c 'print "A"*100')
Tu nombre es $(python -c 'print "A"*100')


Yo quiero que ejecute el codigo python y que al responderme me responda con 100 A. En este caso podria copiarlas manualmente, pero en otros necesito obligatoriamente usar python para meter otros parametros

Un saludo y gracias

No te líes simplemente si quieres ejecutar un comando utilices o no un debugger se ejecuta entre comillas no se si me explico, te pondré un ejemplo con tu programa:
Código: bash

./exploitme
Hola! Dime tu nombre: `python -c  'print "A"*10'`
Tu nombre es AAAAAAAAAA

Simplemente pones unas comillas simples y a continuación la sintaxis si usas python pues python -c, si usas perl pues perl -e o lo que tu quieras.
Un saludo
Lo que sabemos es una gota de agua; lo que ignoramos es el océano.

Gracias por la respuesta, aunque sigo teniendo el mismo problema. He probado tambien a cambiar el orden de las comillas `´ pero nada


Reto de cybercamp mode on jajajajajaja



Exacto jaja pero bueno esto es tema aparte, no tiene nada que ver con la solucion

Entonces, es imposible hacerlo?... @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Entonces, es imposible hacerlo?... @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Todo es posible, además, si es un wargame, será porque tiene solución :P



a ver si entendí bien.

la idea es crear un programa que te pide tu nombre y lo imprime con un saludo, pero que si algun usuario malicioso sel le ocurre meterle un "comando" este se ejecute ?
Código: php
darkspark@darkspark:~/test> ./test
Cual es tu nombre:carlos
hola carlos
darkspark@darkspark:~/test> ./test
Cual es tu nombre:python -c 'print "A"*100'
hola AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

darkspark@darkspark:~/test>


si estoy en lo correcto, en perl lo e conseguido de la siguiente manera:


Código: php
#!/usr/bin/perl
print "Cual es tu nombre:";
chomp($resp=<STDIN>);
$chek=`$resp`;
$respuesta=$resp;
if($chek){
$respuesta=`$resp`;
}
print "hola $respuesta\n";
exit;


lo cual funciona, pero en un entorno real ningún programador en su sano juicio lo haría, pues seria hacerlo vulnerable a propósito. seguiré buscando si ay una manera de hacerlo en un entorno real

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
[email protected]

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
a ver si entendí bien.

la idea es crear un programa que te pide tu nombre y lo imprime con un saludo, pero que si algun usuario malicioso sel le ocurre meterle un "comando" este se ejecute ?
Código: php
darkspark@darkspark:~/test> ./test
Cual es tu nombre:carlos
hola carlos
darkspark@darkspark:~/test> ./test
Cual es tu nombre:python -c 'print "A"*100'
hola AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

darkspark@darkspark:~/test>


si estoy en lo correcto, en perl lo e conseguido de la siguiente manera:


Código: php
#!/usr/bin/perl
print "Cual es tu nombre:";
chomp($resp=<STDIN>);
$chek=`$resp`;
$respuesta=$resp;
if($chek){
$respuesta=`$resp`;
}
print "hola $respuesta\n";
exit;


lo cual funciona, pero en un entorno real ningún programador en su sano juicio lo haría, pues seria hacerlo vulnerable a propósito. seguiré buscando si ay una manera de hacerlo en un entorno real

No era asi, en realidad mi pregunta no tenia nada que ver con el wargame... pero bueno.

Ya hablando en tema general, para explotar un buffer overflow se suele poner como parametro $(python -c 'print "A"*100'), y seria lo mismo que si escribiera 100 A's manualmente, pero te quitas del lio de estar generandolo y copiando y pegando.
El problema esta cuando no se pasa como parámetro sino como entrada de teclado en mitad de la ejecucion del programa que recoge lo que hayas escrito tal cual.

Saludos