🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #8357

Re: Capturar la salida de un programa

#8357
From: "Jesús M. NAVARRO"
Date: Tue, 12 Nov 2002 18:31
73 lines
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!news
References: <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