🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2138

Re: validacion o proteccion de includes en PHP

#2138
From: RobertoCL
Date: Mon, 27 Mar 2006 17:26
70 lines
3880 bytes
"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 
Technical Details
Message-ID: <e0971n$aov$1@proxy.ifxnw.cl>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!news2.ifxnw.cl!not-for-mail
References: <e06st7$jk4$1@news.nivel5.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!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!news2.ifxnw.cl!not-for-mail
From: "RobertoCL" <rcl2020NOSPAM@hotmail.com>
Newsgroups: chile.comp.programacion
Subject: Re: validacion o proteccion de includes en PHP
Date: Mon, 27 Mar 2006 13:26:21 -0400
Organization: IFX Networks News Server
Lines: 72
Message-ID: <e0971n$aov$1@proxy.ifxnw.cl>
References: <e06st7$jk4$1@news.nivel5.cl>
NNTP-Posting-Host: 200.73.30.63
X-Trace: proxy.ifxnw.cl 1143480183 11039 200.73.30.63 (27 Mar 2006 17:23:03 GMT)
X-Complaints-To: abuse@ifxnetworks.com
NNTP-Posting-Date: Mon, 27 Mar 2006 17:23:03 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2527
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527
X-RFC2646: Format=Flowed; Response