Article View: chile.comp.programacion
Article #2092Re: validacion o proteccion de includes en PHP
From: DPLWeb
Date: Sat, 01 Apr 2006 20:21
Date: Sat, 01 Apr 2006 20:21
107 lines
5137 bytes
5137 bytes
RobertoCL escribi�:
> "DPLWeb" <chls2k5-all@yahoo.com> escribi� en el mensaje
> news:e06st7$jk4$1@news.nivel5.cl...
>> Hola amigos:
>>
>> Aqui les tengo una gran duda que me ha causado algunos problemas.
>> Empec� con PHP hace un tiempo y decidi hacerme cargo de un sitio web.
>> LO arregle bastante dandole mucha funcionalidad con PHP y MySQL.
>>
>> Hace unas semanas atras el sitio estaba caido. Llamo al hosting (Linux en
>> Chilecom.net) y me dicen que esta bloqueado porque ha sido hackeado y
>> segun ellos porque los includes o requires no estan validados y hay que
>> protegerlos.
>>
>> ��Que?? �que es eso? No me supo explicar con manzanitas como le pedi. El
>> sitio ahora esta activo pero bajo la amenaza de una nueva desactivacion si
>> vuelve a ocurrir. De hecho es la segunda vez que pasa.
>>
>> Lo que me dijeron: El hackeo provoca que se mande spam y que el sitio
>> funcione como un foro, el servidor y sus recursos se saturan y como es un
>> servidor compartido estoy perjudicando a otros.
>>
>> Estuve buscando informacion y encontre un documento que habla de la
>> edicion del ".htaccess" y verificar los accesos y ver direcciones extra�as
>> del tipo "index.php?t=http://......" que obviamente yo no uso
>>
>> Revise los logs de la cuenta y encontre varios casi siempre direccionando
>> a la misma URL.
>> Edit� el "htaccess" desde el panel de control de la cuenta y puse las IP
>> sospechosas.
>>
>> Hasta ahora no pasa nada, espero haber echo lo correcto. El mayor temor es
>> que se metan a la base de datos o incluso que me cambien todo el sitio web
>> y peor que ni me de cuenta.
>>
>> Un dato quizas util: tengo un index.php que esta lleno de "require()" para
>> poder cargar diferentes partes del sitio, incluso las paginas que van
>> cambiando en cada seccion y precisamente las carga mediante la variable
>> GET llamada "t". Ademas al sitio le gener� un sistema de administracion
>> muy basico con validacion y uso de sesiones.
>>
>> Mis consultas para uds son si hice bien lo que les cuento y que mas
>> deberia hacer para evitar todas estas cosas se vuelvan a repetir.
>>
>> Por cierto, he pensado en ponerle Joomla (o el CMS que uds me sugieran)
>> para evitar todas estas cosas y aprovechar sus potencialidades. Pero si
>> logro solucionar este tema, no lo voy a hacer. Dependo de uds.
> El problema del opensource es que se debe estar constantemente actualizando,
> sino crackeo asegurado.
>
> Un par de validaciones:
> Si la URL es ver.php?i=login
>
> $inc = "mods/".$_GET['i'].".inc.php";
> if (file_exists($inc)) {
> include($inc);
> }
> Validar si existe el include. No usar llamadas al php completas (ej
> ver.php?i=mods/login.inc.php)
>
>
> if (!eregi("ver.php", $PHP_SELF)) {
> die ("Error 001..."); EXIT;
> }
> En el login.inc.php no aceptar pedidos de otra parte que no sea de ver.php
>
> Lectura
> http://www.php.net/manual/es/security.php
>
> --
> RCL
>
>
Hola a todos y muchas gracias.
Aunque igual me quedan algunas dudas por falta de conocimiento.
�Me dicen que seria suficiente con verificar la existencia del archivo?
Esto de:
"En el login.inc.php no aceptar pedidos de otra parte que no sea de ver.php"
no lo entend�... �se supone que se logra con la expresi�n regular?
entiendo que verifica si es falso, no entiendo la utilidad o su
funcionamiento y como se vinculan ambos archivos.
Como les conte pretendo instalar al sitio el Joomla que viene dentro del
panel de control del hosting, espero que el tema se solucione. Claro que
estar� pendiente de las actualizaciones.
Pero hasta ahora no he tenido tiempo suficiente para probar todas sus
funcionalidades, ver c�mo funciona y modificar todo lo necesario para
que se ajuste al sitio original.
El hosting tiene disponibles los siguientes CMS para instalar:
Drupal
Geeklog
Joomla
Mambo Open Source
PHP-Nuke
phpWCMS
phpWebSite
Post-Nuke
Siteframe
TYPO3
Xoops
�Cual me recomiendan? Por facilidad de uso y personalizacion, y
prestaciones.
Saludos y nuevamente muchas gracias.
Technical Details
Message-ID:
<e0mndn$vjq$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mailReferences:
<e06st7$jk4$1@news.nivel5.cl> <e0971n$aov$1@proxy.ifxnw.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,69168fc75797102 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mail From: DPLWeb <chls2k5-all@yahoo.com> Newsgroups: chile.comp.programacion Subject: Re: validacion o proteccion de includes en PHP Date: Sat, 01 Apr 2006 16:21:20 -0400 Organization: Varios Lines: 107 Message-ID: <e0mndn$vjq$1@news.nivel5.cl> References: <e06st7$jk4$1@news.nivel5.cl> <e0971n$aov$1@proxy.ifxnw.cl> NNTP-Posting-Host: pc-86-224-104-200.cm.vtr.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.nivel5.cl 1143922935 32378 200.104.224.86 (1 Apr 2006 20:22:15 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Sat, 1 Apr 2006 20:22:15 +0000 (UTC) User-Agent: Thunderbird 1.5 (Windows/20051201) In-Reply-To: <e0971n$aov$1@proxy.ifxnw.cl>