2012-10-02 9 views
7

Duplicar posible:
Is it possible to execute PHP with extension file.php.jpg?¿Por qué filename.php.jpg funcionará como un archivo PHP?

accidentalmente dejó un fileupload a mi sitio, y que fue hackeado (ME ESTÚPIDO). El hacker había subido un archivo index.php.jpg con la herramienta de subida, y simplemente accedió a mi sitio (era un script de shell99) con él, pero no puedo entender por qué funcionará. ¿Alguien lo suficientemente inteligente como para explicar esto?

+5

¿El archivo se llama 'index.php.jpg' o' index.jpg.php'? –

+0

Porque de hecho _nobody_ está interesado en una extensión de archivo;) es solo una pista sobre qué _may_ puede estar dentro del archivo, pero nada más. – KingCrunch

+0

Si fue un .php usted es un mono tonto: P – Chris

Respuesta

8

Apache controla qué extensiones de archivo pueden y no pueden ejecutar PHP. Esto se puede controlar a nivel de servidor o por nivel de sitio (como con .htaccess).

De forma predeterminada, una extensión .jpg debe no permitir la ejecución de PHP. Quizás el nombre del archivo realmente era index.jpg.php y ha leído mal. Sin embargo, en el caso de que el nombre de archivo sea realmenteindex.php.jpg, deberá buscar en todas las ubicaciones posibles y bloquear su configuración para permitir solo extensiones .php para ejecutar PHP.

+1

Era index.php.jpg, porque el script solo aceptaba archivos con extensiones .jpg o .png. No tengo el sitio en un servidor que poseo, por lo que no tengo acceso a la configuración de Apache, así que le preguntaré esto al propietario del servidor. –

3

El nombre de archivo fue forjado, con \ x000 insertado que engañó httpd, o .htaccess se plantó también para forzar PHP para archivos jpg.

+0

Interesante. ¿Cómo funciona esto exactamente? ¿Y cómo se puede evitar? – alexandernst

+2

Por favor, ¿me puede explicar a qué se refiere con \ x000? – donald123

Cuestiones relacionadas