Como puedo descomprimir los archivos en mi Mac, supongo que estos son archivos zip reales y no solo algo así como archivos PHP renombrados.
Si bien es probable que tenga razón en este caso, su suposición no siempre es válida. Un archivo ZIP sigue siendo válido incluso si antepone datos arbitrarios , por lo que es muy posible crear un archivo que sea simultáneamente un archivo ZIP válido que contenga datos inocentes y también un script PHP malicioso. Ni siquiera es particularmente difícil; simplemente concatene el código PHP y el archivo ZIP, y asegúrese (por ejemplo, usando __halt_compiler()
) que PHP no intentará analizar los datos de archivo ZIP adjuntos.
Este truco se usa legítimamente para crear archivos ZIP autoextraíbles, pero es perfectamente posible anteponer cualquier otro dato oculto o código ejecutable en un archivo ZIP de la misma manera. Algunos programas pueden negarse a abrir dichos archivos ZIP modificados (pero si es así, están violando técnicamente la especificación del formato ZIP), o pueden identificar el archivo como algo diferente de un archivo ZIP de forma predeterminada, pero en general, si alimenta un archivo de este tipo archivo en el código que espera un archivo ZIP, probablemente será aceptado como uno.
Un uso malicioso más común de tales trucos es disfrazar el código de explotación en un contenedor basado en ZIP (por ejemplo, un archivo JAR) como algo inofensivo (como una imagen GIF, como en la explotación GIFAR ), pero no hay razón para que no pueda serlo. también se usa en la otra dirección, por ejemplo, para omitir un filtro de carga de archivos ingenuo que prohíbe cargar scripts PHP pero permite archivos ZIP, sin verificar si el archivo cargado podría ser ambos al mismo tiempo.