Avatar Image
Usuario Novato
Usuario Novato

A ver tengo un grave problema de seguridad y es que aunque tengo configuradoel open_basedir en mi php.ini el apache me deja ejecutar un archivo php que permita con opendir, por ejemplo, retroceder en las carpetas del servidor hasta la raíz o visiualizar otrso discos duros del ordenador que hace de servidor, tambien permite leer directorios, crear archivos, borrarlos, etc...

Total, un agujero de seguridad mu gordo.
He visto que en miarroba lo teneís bien configurado y me hariaís un pedazo de favor si me contaseís como lo habeís hecho.

He mirado a ver si es un bug que tenga el servicio bajo el widnows, pero no, se supone que debería de ir bien, tambien he probado en el open_basedir las barras para un lado / las barras para otro \ los : y el ; como separador entre carpetas de la ruta, por supuesto, despues e cada cambio he reiniciado todo el servicio.

Por si acaso era del windows y para asegurarme, he corrido el mismo php de testeo (el que uso para ver si me eja retroceder, escribir, borrar etc..) en otrso servidores linux y en la mayoría de estos me dejaba hacer todas "esas cosas malas", (no lo intenteís, ya estan avisados los admins y en miarroba no va ).

Asi que tiene que ser algo que venga en la configuracion por defecto.

AYUDAAAAAA POR FAVOR.

Gracias.

Jallander
Machacateclados
Machacateclados

léete el Capítulo 22. Modo Seguro (Safe Mode) del manual oficial del PHP; sospecho que ahí encontrarás la solución; no estaría de más el que compartieras ese código tan malote (no para hacer daño naturalmente sino para aprender).

salu2

el manual oficial del PHP en español se descarga desde:

http://www.php.net/download-docs.php

Avatar Image
Usuario Novato
Usuario Novato

Ya he mirado y se supone que con el open basedir deberia de funcionar ,pero nada de nada, el codigo "malote" que dices es una tontada que se puede hacer tenidndo una ligera idea de php. os lo pego aqui, pero sed buenos, a nadie le gusta que le jodan su web.

<?php
if(!isset($_GET["dir"]))
$_GET["dir"]="../../"; //aqui pones el directorio los ../ echan una carpeta hacia atras
$xdir=$_GET["dir"];
if(!is_file($xdir))
{
$anterior=opendir($xdir);
$atras=readdir($anterior);
while($atras)
{
$atras=readdir($anterior);
if(is_dir($xdir."\\".$atras))
echo "<b><a href='$PHP_SELF?dir=$xdir\\".$atras."'>$atras</a></b><br>";
else
echo "<a href='$PHP_SELF?dir=$xdir\\".$atras."'>$atras</a><br>";
}
}
else
copy($xdir,basename($xdir));
?>

User 28318
User 28318
Machacateclados
Machacateclados

Efectivamente, el script funcina, se puede acceder (literalmente) a toda la paritición en la que esté instalado el servidor; probando he encontrado una manera en la que deja de hacerlo; en php.ini modificas open_basedir = (como tu sospechabas) a

open_basedir = "RUTA_ABSOLUTA_DEL_RAIZ_ DONDE_ESTAN_ALOJADAS_LAS_PAGINAS_WEB"
(en mi caso, por ejemplo, "d:\www\&quot

cuando hice eso me aparece el mensaje:

Warning: Unknown(): open_basedir restriction in effect. File(d:\www\index2.php) is not within the allowed path(s): (d:\www\) in Unknown on line 0

Warning: Unknown(d:\www\index2.php): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening 'd:\www\index2.php' for inclusion (include_path='.;c:\php4\pear') in Unknown on line 0


Lo que no sé es cómo esta línea afectará a otros scripts de php.

salu2

Avatar Image
Usuario Novato
Usuario Novato

Pues mi servidor se pasa esa directiva por el forro de los config.

Nada he cambiado elopen_basedir en el php.ini y lo hepuesto de 50 formas diferentes y sigue admitiendome escalar en el arbol de directorios...

¿A nadie se le ocurre nada?

Gracias

User 28318
User 28318
Machacateclados
Machacateclados

Espero no pasarme de listo. Mi intención no es molestar.
Te recuerdo que cada vez que modificas php.ini debes reiniciar el servidor.

salu2

Avatar Image
Usuario Novato
Usuario Novato

Si, si, lo reinicio, pero nanay, he copiado exactamente el path como lo ponias tu y he probado 250.000 formas mas y me dice que nanay.

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 14/Jun/2013, 16:07
morfo360 NoSetup.org12kJun/13
Por: , el 30/May/2004, 22:56
ivanitoweb03kMay/04