Mac'imdeki dosyaları açabildiğim için bunların sadece yeniden adlandırılmış php dosyaları değil, gerçek zip dosyaları olduğunu varsayıyorum.
Muhtemelen bu durumda haklı olsanız da, varsayımınız her zaman geçerli olmayabilir. Bir ZIP arşivi , isteğe bağlı veriler hazırlasanız bile geçerli kalır , bu nedenle aynı anda masum verileri ve aynı zamanda kötü niyetli bir PHP komut dosyası içeren geçerli bir ZIP arşivi olan bir dosya oluşturmak oldukça mümkündür. Özellikle zor bile değil; sadece PHP kodunu ve ZIP dosyasını birleştirin ve PHP'nin __halt_compiler()
eklenen ZIP arşiv verilerini ayrıştırmaya çalışmadığından emin olun (örn. kullanarak ).
Bu numara yasal olarak kendiliğinden açılan ZIP dosyaları oluşturmak için kullanılır, ancak herhangi bir gizli veriyi veya çalıştırılabilir kodu aynı şekilde bir ZIP dosyasına hazırlamak da mükemmel bir şekilde mümkündür. Bazı programlar bu tür değiştirilmiş ZIP dosyalarını açmayı reddedebilir (ancak öyleyse, teknik olarak ZIP formatı özelliğini ihlal ediyorlar) veya dosyayı varsayılan olarak bir ZIP dosyası dışında bir şey olarak tanımlayabilirler; Bir ZIP dosyası bekleyen kod içine dosya, muhtemelen bir olarak kabul edilecektir.
Bu tür hilelerin daha yaygın bir kötü amaçlı kullanımı, ZIP tabanlı bir kapsayıcıdaki (örneğin bir JAR dosyası) istismar kodunu zararsız bir şey olarak gizlemektir (GIFAR istismarında olduğu gibi bir GIF görüntüsü gibi ), ancak olmamasının bir nedeni yoktur. diğer yönde de kullanılır, örneğin, yüklenen dosyanın aynı anda olup olmadığını kontrol etmeden, PHP komut dosyalarının yüklenmesini yasaklayan ancak ZIP dosyalarına izin veren, naif bir dosya yükleme filtresini atlamak için kullanılır.