Article View: es.comp.os.linux.programacion
Article #8357Re: Capturar la salida de un programa
From: "Jesús M. NAVARRO"
Date: Tue, 12 Nov 2002 18:31
Date: Tue, 12 Nov 2002 18:31
73 lines
3924 bytes
3924 bytes
Hola, J.A. J.A. Gutierrez wrote: > "Jes�s M. NAVARRO" <jesus_navarro@undominio.net> wrote: > : Hola, Angel: > > : Angel wrote: > :> Francisco presumiblemente dijo el dia Mar 12 Nov 2002 00:12: > :> > :> > :>>Blah, blah... > :> > :> > :> Prueba con dup y dup2. > :> por cierto te recomiendo ( yo y todo programador en linux) q no utilizes la > :> funcion system, es muuuy peligrosa. > :> > > : Hombre, la funci�n system es peligrosa *si* el programa es suid (puesto > : que se va a ejecutar con privilegios efectivos distintos a los reales > > o si se programan CGIs, p.e., o cualquier otro servicio > teoriacamente restringido. > Extensi�n del caso anterior: el usuario efectivo (el UID del CGI) es distingo del usuario real (en este caso, no un UID distinto, sino un rol distinto: una persona an�nima actuando desde Internet). > : del usuario) *y* acepta sin comprobaci�n pasar cadenas de texto al > > el problema es realizar exhaustivamente todas esas comprobaciones. > S�lo a veces: Francisco (el que envi� originalmente el mensaje) no dijo nada de *pasar* par�metros a un programa (sean estos dados por el usuario o fijos) sino que hablaba de *recibir* la salida del programa invocado. En este caso, el potencial problema de seguridad queda restringido al entorno local y depende del programa invocado (Ej: imag�nese que de lo que se trata es de una utilidad de monitorizaci�n y -supongamos- que el dato que se quiere dar es la ocupaci�n de discos, para lo que se pretende llamar a df y capturar su salida: El usuario final no cede datos al programa (tan s�lo "marca" como quiera que sea la opci�n "dame la ocupaci�n de los discos", tras lo cual, se llama, sin par�metros o con par�metros constantes al programa df del sistema. En este caso, la invocaci�n a system y parientes no a�ade ning�n riesgo de seguridad especial). > : suproceso que se inicia. En otro caso, no veo d�nde puede estar el > : peligro (no obstante, no soy programador, y agredecer�a las correcciones). > > pues p.e., ya para empezar, te has dejado fuera el problema del IFS > > PS: popen() comparte los peligros de system(). > El problema del IFS y los relacionados con secuencias de escape y buffer overflow s�lo puede afectar a las llamadas a system y parientes si: 1/ El programa se ejecuta bajo un usuario efectivo distinto del real (casos ya comentados). 2/ La entrada al programa se utiliza para modular la llamada a system. y 3/ En dicha modulaci�n se emplea directamente la entrada recibida, sin depurar. No pretendo "pasarme de listo" aqu�: como digo, no soy programador y si lo que digo no es correcto o es incompleto, desde luego, me gustar�a saberlo. -- SALUD, Jes�s *** jesus_navarro@undominio.net ***
Technical Details
Message-ID:
<01u7a-vlm.ln1@mithrandir.intranet>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!skynet.be!skynet.be!seanews2.seabone.net!garse!news.iddeo.es!mithrandir.intranet!newsReferences:
<3DD03990.1090606@ono.com> <aqqmu8$a0v56$1@ID-148170.news.dfncis.de> <mf57a-485.ln1@mithrandir.intranet> <aqrgst$l9c$1@news.unizar.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,c70e8198e9aa783d X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-11-12 11:15:16 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!skynet.be!skynet.be!seanews2.seabone.net!garse!news.iddeo.es!mithrandir.intranet!news From: "Jesús M. NAVARRO" <jesus_navarro@undominio.net> Newsgroups: es.comp.os.linux.programacion Subject: Re: Capturar la salida de un programa Date: Tue, 12 Nov 2002 19:31:26 +0100 Organization: Iddeo - Retevisi�n Lines: 74 Message-ID: <01u7a-vlm.ln1@mithrandir.intranet> References: <3DD03990.1090606@ono.com> <aqqmu8$a0v56$1@ID-148170.news.dfncis.de> <mf57a-485.ln1@mithrandir.intranet> <aqrgst$l9c$1@news.unizar.es> NNTP-Posting-Host: 212.97.187.184 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.1) Gecko/20020913 Debian/1.1-1 X-Accept-Language: es-es, es