Foros del Web » Programando para Internet » PHP »

Visualización y ejecución de archivos con Apache

Estas en el tema de Visualización y ejecución de archivos con Apache en el foro de PHP en Foros del Web. Mediante una petición HTTP es posible llamar al interprete PHP.EXE para visualizar archivos fuera del directorio público. También es posible ejecutar archivos con cualquier extensión ...
  #1 (permalink)  
Antiguo 22/02/2002, 06:49
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 16 años, 10 meses
Puntos: 1
Visualización y ejecución de archivos con Apache

Mediante una petición HTTP es posible llamar al interprete PHP.EXE para visualizar archivos fuera del directorio público. También es posible ejecutar archivos con cualquier extensión como si de un archivo PHP se tratara.

En la documentación de PHP se recomienda que en la instalación en Windows se inserten las siguientes líneas en el archivo httpd.conf para que Apache trabaje con el ejecutable CGI de PHP:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Gracias a la primera de las líneas podremos acceder a c:/php para llamar y ejecutar PHP.EXE con una petición tipo:

http://www.servidor.xxx/php/php.exe

Entre otras posibilidades, facilita la lectura de cualquier archivo fuera del ámbito público del servidor web. Por ejemplo, la siguiente petición permite descargar el archivo de claves de un servidor
Windows NT:

http://www.servidor.xxx/php/php.exe?c:\winnt\repair\sam

Si el servidor permite subir archivos, pongamos por ejemplo imágenes, un atacante podría hospedar archivos con código PHP y extensión .GIF.
Posteriormente bastaría con llamar al intérprete PHP.EXE para llevar a cabo su ejecución:

http://www.servidor.xxx/php/php.exe/directorio_subida/codigo.gif

En el caso de que el servidor no permita subir archivos existen otras formas de conseguir ejecutar código arbitrario y conseguir el control total del sistema afectado. Por ejemplo introduciendo el comando a ejecutar en una petición HTTP para que quede registrado en el archivo log de Apache:

http://www.servidor.xxx/<?%20system('comando a ejecutar');%20?>

Posteriormente bastaría con llamar al log con el interprete PHP para que ejecute el comando:

http://www.servidor.xxx/php/php.exe?c:\apache\logs\access.log

Opina sobre esta noticia:
http://www.hispasec.com/unaaldiacom.asp?id=1215

Más información:

PHP for Windows Arbitrary Files Execution (GIF, MP3)
http://www.securiteam.com/windowsntfocus/5YP0L0U60C.html
  #2 (permalink)  
Antiguo 22/02/2002, 17:19
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Re: Visualización y ejecución de archivos con Apache

Detalle que hay que tomar en cuenta el dia que tenga que programar algo de php en algun servidor windows, pero creo que el problema real tiene relacion con los permisos que se otorgan a los directorio.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.