🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: PHP APACHE y nobody

#5979
From: Alex Estevez
Date: Wed, 20 Aug 2003 17:45
89 lines
4501 bytes
>>Proceso inseguro:
>>
>>usuario: pepe ; rm -rf * >/dev/null;
>>password: adios
>>
>>php lee los parametros y hace
>>
>><?
>>  system ("programilla $_POST['usr'] $_POST['pwd']");
>>?>
>>
>>me petaron el sistema.
>>
> 
> 
> ...como nobody, que es quien est� ejecutando el servidor web, lo que ya no
> es lo mismo que este "pete" afectando a root.


Se suponia que programilla era un programa no shell con suid

> 
> 
>>en cambio si hago en el php
>>
>><?
>># se supone que escribiria el archivo correctamente:
>># hago un system echo para ir rapido.
>>
>>  system ("echo \" $_POST['usr']:$_POST['pwd']\" >> archivo");
>>?>
>>
> 
> �Y qui�n te dice que hagas una llamada a system?  Precisamente de lo que se
> trata es de evitarla.  Tratas en la medida de lo posible de sanear la
> entrada, abres un descriptor de fichero y escribes en �l.
> 

No lo he dejado claro... en los comentarios d ese fragmento ya pongo que 
no lo haria con un system... que era para ejemplificar rapido.

> Si en tu script utilizases la misma estrategia de saneamiento, s�; al no
> utilizarla, es m�s dif�cil (exponencialmente m�s dif�cil) cometer el error. 
> De hecho, si se tratase de algo realmente cr�tico, la p�gina PHP y el
> script cron deber�an escribirlos diferentes desarrolladores, por supuesto,
> sin tener ning�n prejuicio sobre lo que el otro a hecho o ha podido hacer
> para sanear los datos: a todos los efectos, se puede esperar en la entrada
> de datos cualquier enga�o del maligno.


cuantas estrategias hay para sanear un nombre de usuario? no creo que 
halla tantas. al fin y al cabo se limitara a permitir de A a Z, numeros y _

> Si es tan poco elegante �por qu� permite cron ejecutar tareas cada minuto? 

No respondere sino es en presencia de mi abogado.

> (Adem�s �tantos usuarios vas a crear que no se puede esperar diez minutos,
> incluso una hora para obtener el resultado?).

No es tantos, sino en que tiempo. Se exige que la persona que cree uno o 
mas usuarios vea el resultado al momento (un minuto es bastante 
parecido). no en una hora o diez minutos... a mi me piden y yo hago :)


A modo de conclusion. he decidio realizar lo siguiente, para eliminar a 
su vez problemas con los ficheros de accesos simultaneos y demas.

El php. metera los datos en una BBDD Mysql

el cron lanzara cada minuto un programa que leera las nuevas entradas a 
esta BBDD y por cada uno creara el correspondiente usuario y demas 
gestiones que tenga que hacer.

El uso de Mysql no es solo para evitar problemas con los accesos 
simultaneos, es tambien para guardar en condiciones las cuentas creadas 
y otros datos.

Ahora a su vez me surgen un par de dudas mas.

Que tal se maneja mysql con shellscripts? y que problemas me puede dar 
que halla que introducir un password al mysql?

Si no lo sabeis no hace falta que respondais a esto, primero me peleare 
un poco con ello.

Saludos

Alex Estevez
Technical Details
Message-ID: <3F43B3B6.3070307@SPAMpuertatel.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.nacamar.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail
References: <3F2F9BCD.8050601@SPAMpuertatel.com> <ltt401-3kc.ln1@mithrandir.intranet> <3F434C4E.1070705@SPAMpuertatel.com> <ju5c11-6dr.ln1@mithrandir.intranet> <3F438C50.40900@SPAMpuertatel.com> <o6mc11-1pe.ln1@mithrandir.intranet>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,9afc73b3e3571e08
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-08-20 10:47:44 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.icl.net!newsfeed.fjserv.net!feed.news.nacamar.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail
From: Alex Estevez <alexNO@SPAMpuertatel.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: PHP APACHE y nobody
Date: Wed, 20 Aug 2003 19:45:26 +0200
Organization: Puertatel
Lines: 90
Message-ID: <3F43B3B6.3070307@SPAMpuertatel.com>
References: <3F2F9BCD.8050601@SPAMpuertatel.com> <ltt401-3kc.ln1@mithrandir.intranet> <3F434C4E.1070705@SPAMpuertatel.com> <ju5c11-6dr.ln1@mithrandir.intranet> <3F438C50.40900@SPAMpuertatel.com> <o6mc11-1pe.ln1@mithrandir.intranet>
NNTP-Posting-Host: 84.red-217-125-26.pooles.rima-tde.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: nsnmpen2-gest.nuria.telefonica-data.net 1061401663 3398 217.125.26.84 (20 Aug 2003 17:47:43 GMT)
X-Complaints-To: usenet@nsnmpen2-gest.nuria.telefonica-data.net
NNTP-Posting-Date: Wed, 20 Aug 2003 17:47:43 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
X-Accept-Language: en-us, en