ID: 30714 User updated by: bersuiteros at gmail dot com -Summary: ... Reported By: bersuiteros at gmail dot com Status: Open Bug Type: Directory function related Operating System: Linux, Unix, Windows PHP Version: Irrelevant New Comment:
es exactamente un bug?? o es problema de todos los servidores donde probe el script?? Previous Comments: ------------------------------------------------------------------------ [2004-11-07 20:26:22] bersuiteros at gmail dot com Description: ------------ Busque y busque, y no encontre que lo hayan reportado antes... asique aca estoy escribiendo, aun nose si se puede declarar como BUG, pero bue... con un especifico script se puede acceder a cualquier directorio sin la necesidad de ningun login y/o password ni nada por el estilo... por ejemplo: yo tengo una pagina en un servidor X... mi pagina es del tipo: http://www.X.com/mipagina (lo he probado en servidores Unix y Linux, si mal no recuerdo) voy a poder ver carpetas y archivos dentro del servidor mucho mas arriba en el arbol de directorio que la carpeta donde esta alojada mi pagina... el codigo se va a entender mejor... el if(!isset($dir)), sirve para inicializar la variable $dir por si no fue pasada como GET. el if (!is_dir($dir)), sirve para mostrar el archivo siempre y cuando no sea un directorio del String que tiene la var $dir y el resto lo que hace es mostrar por pantalla los archivos y/o directorios que posee $dir... agregue un <a> para que sea mas facil ir metiendose en el arbol de directorios. no se si esto es un bug... pero se puede llegar a sacar claves de cualquier pagina y hasta del root del servidor en que este alojado este script. por ejemplo, poniendo: http://www.X.com/mipagina/script.php?dir=etc/passwd o http://www.X.com/mipagina/script.php?dir=etc/shadow se podra ver el contenido de ese archivo tan importante. gracias. Reproduce code: --------------- <?php if (!isset($dir)) $dir = '/'; else $dir = '/'.$dir; if (!is_dir($dir)){ $file = fopen($dir,"r"); while (!feof ($file)) { $line = fgets ($file, 1024); echo $line."<br>"; } fclose($file); } $directorio = dir($dir); while ($file = $directorio->read()) { echo "<a href=\"script.php?dir=".$dir."/".$file."\">$file</a><br>"; } ?> Expected result: ---------------- . .. .autofsck boot dev proc var tmp etc root usr bin home initrd lib mnt opt sbin SWH www lost+found ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30714&edit=1