¿Hay alguna forma de descargar un archivo PHP sin que se ejecute?

19

Hace poco recibí un correo de phishing de una calidad inusualmente mala; "Por favor, inicie sesión inmediatamente en el siguiente enlace, ya que somos su banco, ya sabe" -ish. El enlace apunta a una URL poco convincente con .php al final.

Me preguntaba por qué podrían usar un script PHP en lugar de simplemente simular el aspecto de la página dada y enviar los datos ingresados a un formulario.

Realmente no quiero hacer clic en el enlace para averiguarlo, pero me encantaría saber qué es lo que este archivo PHP está a punto de hacer. ¿Hay alguna forma de descargar el script, como podría hacerlo con el JavaScript del lado del cliente?

¿O no puedo acceder al archivo PHP, ya que lo ejecuta el servidor?

¿Hay otras formas de analizar este archivo y su comportamiento sin ningún peligro?

    
pregunta Zaibis 03.09.2015 - 10:51
fuente

6 respuestas

64

Si el servidor está configurado correctamente, no puede descargar un archivo PHP. Se ejecutará cuando se llame a través del servidor web. La única manera de ver lo que hace es obtener acceso al servidor a través de SSH o FTP o algún otro método.

Esto se debe a que PHP es un idioma del servidor, todas las acciones se realizan en el servidor, luego el resultado se envía a su navegador (que es cliente ).

Si tienes miedo de alterar tu sistema, puedes usar Virtualbox con una máquina virtual de Ubuntu y abrir la página desde allí. Si toma una instantánea de la VM después de la instalación, y antes de hacer cosas peligrosas, puede volver a esa instantánea y deshacer todo lo que el script podría haber hecho a la VM.

    
respondido por el SPRBRN 03.09.2015 - 11:03
fuente
11

Como han dicho otros, el archivo PHP se ejecuta en el lado del servidor, a menos que el servidor esté tan mal configurado que simplemente sirva la fuente.

Si desea examinar lo que se envía a su cliente sin la posibilidad de que haga algo indebido, use un editor de texto como Notepad para abrir la URL. Es decir, use File → Open pero abra la URL en lugar de un archivo real.

El servidor interpretará la solicitud y enviará lo que normalmente enviaría a un navegador. Su editor de texto lo recibirá, pero todo lo que un editor de texto puede hacer es mostrarlo para editarlo. Nunca se acercará a un navegador u otro motor de renderización para ser ejecutado.

    
respondido por el Andrew Leach 03.09.2015 - 23:13
fuente
2

No , no puedes, porque PHP se ejecuta en el servidor. Fin.

  1. No es necesario obtener el código, ya que no se ejecuta en su computadora, por lo que no existe ningún riesgo de seguridad para usted.
  2. PHP servirá sitios web como cualquier otro, para que no haya una respuesta específica de PHP.

    Si está interesado en una respuesta general, eche un vistazo a ¿Cómo puedo inspeccionar de forma segura un archivo adjunto de correo electrónico sospechoso? Sus respuestas también son válidas para abrir sitios web de forma segura.
respondido por el Christian Strempfer 04.09.2015 - 12:34
fuente
1

El archivo .php se ejecuta en el lado del servidor, por lo que desafortunadamente no hay forma de obtener el código fuente. Sin embargo, lo que puede intentar es manipular la URL con la esperanza de que el administrador de sistemas haya cometido un error.

Cuando un usuario visita enlace , el servidor web genera la respuesta HTML al ejecutar /usr/bin/php el archivo index.php desde /var/www/html .

Los servidores web normalmente están configurados para ejecutar solo los archivos .php , por lo que .jpg o cualquier otro tipo de archivo se sirve normalmente.

Sin embargo, si un administrador del sistema olvidadizo hizo una copia del archivo .php con fines de copia de seguridad, es posible que pueda recuperar la copia sin ser ejecutado por /usr/bin/php

Entonces, si el administrador del sistema hizo una copia como /var/www/html/index.php.bak , puede descargar su código fuente visitando enlace con su navegador.

Encontrar estos archivos sobrantes es una tarea incómoda, por lo que es posible que desee consultar las herramientas de identificación de URL automatizadas.

Finalmente, recomiendo usar curl para hacer estos experimentos, ya que no ejecutará JavaScript o Flash en tu máquina.

    
respondido por el Gabor 04.09.2015 - 11:50
fuente
0

No puedes a través de HTTP porque

  

A) el código PHP escrito en el archivo, es eliminado del archivo por el http   servidor antes de que se envíe al cliente http

Por lo tanto, un formulario HTML podría hacer referencia a blah.php que contiene un fragmento de código php, código rodeado de etiquetas php, que verifica si la contraseña enviada es igual a 1234, pero si tuviera que seleccionar blah.php no verá ese código. (Incluso si el servidor web compatible con php le permitió obtener blah.php directamente, sin redirigirlo para que reciba otro archivo ... no es realmente el blah.php en el servidor que está recibiendo). Es blah.php procesado por el servidor con el código php eliminado y reemplazado con lo que sea el php emitido. O con cualquier código del lado del cliente (html / javascript) se debe mostrar el código php determinado.

y

  

B) el módulo php del servidor HTTP ejecutará cualquier php y producirá el   archivo resultante para enviar al cliente.

Por cierto, técnicamente, un archivo HTML en un servidor puede contener PHP. Así que no es que los archivos PHP sean más peligrosos que los archivos HTML. El código PHP realiza el procesamiento del servidor y luego genera otras cosas del lado del cliente que se pueden encontrar en un archivo HTML como HTML o javascript del lado del cliente.

    
respondido por el barlop 05.07.2016 - 22:04
fuente
-4

Sí, hay una manera de obtener el archivo PHP.

Simplemente necesita reemplazar el protocolo http o https con ftp.

ejemplo: enlace sustituir por ftp://www.facebook.com/profile.php

Descargará su archivo PHP si ingresa su credencial correcta para ftp.

    
respondido por el Irshad Maulaboksh 16.10.2018 - 15:35
fuente

Lea otras preguntas en las etiquetas