ArrauKano, disculpame, pero no entendiste la Explicación.
La manera en la que estaás incluyendo código, no solo es un serio bug en tu script, sino que es uno de los más viejos y utilizados.
Si tu pusieras en tu script algo como
Tu_pagina_insegura.php?pagina=../../../../../etc/passwd\0
Entonces, según tu script :
Código PHP:
if(!$seccion) {
$seccion = 'portada';
}
include($seccion.'.php');
Estarías incluyendo :
include("../../../../../../etc/passwd\0.php");
El \0 es el caracter de fin de linea, porque lo que la linea quedaria trunca al terminar el directorio que el usuario puso, y mostraria el archivo /etc/passwd de tu webserver.
Por eso, es que varios usuarios te están recomendando que seas más cuidadoso con los scripts que usas porque pones en riego todo el webserver.
Por ahora, la solución más acertada que te pasaron, es la de kawoq, así que te recomiendo que hagas un poco más de esfuerzo y utilices esa.
Suerte.