Оскільки я можу розпакувати файли на своєму mac, я припускаю, що це справжні поштові файли, а не просто щось на зразок перейменованих файлів php.
Хоча в цьому випадку ви, мабуть, праві, ваше припущення може не завжди дотримуватися. ZIP-архів залишається дійсним, навіть якщо ви додаєте до нього довільні дані , тому цілком можливо створити файл, який одночасно є дійсним ZIP-архівом, що містить невинних даних, а також шкідливий скрипт PHP. Це навіть не особливо важко; просто з'єднайте PHP-код та ZIP-файл та переконайтесь (наприклад, використовуючи __halt_compiler()
), що PHP не намагатиметься розібрати додані дані архіву ZIP.
Цей трюк законно використовується для створення самовитягуючих ZIP-файлів, але цілком можливо, щоб таким же чином додати будь-які інші приховані дані або виконуваний код у ZIP-файл. Деякі програми можуть відмовитись відкривати такі змінені ZIP-файли (але якщо це так, вони технічно порушують специфікацію формату ZIP), або вони можуть ідентифікувати файл як щось інше, ніж ZIP-файл за замовчуванням, але, як правило, якщо ви подаєте такий файл у код, який очікує ZIP-файл, він, ймовірно, буде прийнятий як один.
Більш поширеним зловмисним використанням таких хитрощів є маскування коду експлуатації в контейнері на основі ZIP (наприклад, файл JAR) як щось нешкідливе (як зображення GIF, як в експлуатації GIFAR ), але немає причин, щоб це не було також використовується в іншому напрямку, наприклад, для обходу наївного фільтра для завантаження файлів, який забороняє завантажувати PHP-скрипти, але дозволяє ZIP-файли, не перевіряючи, чи може завантажений файл одночасно бути обома.