1 min read

PHP GIF İnjection

Forumlar da ve bir kaç soru-cevap sitesinde PHP ile yapılmış web sitelerine shell atıldığını ve bu işlemi sunucuya girmeden yaptıklarını söyleyenler mevcut. Bu durum bana PHP’de yapılan GİF injection’u hatırlattı.

Nedir Bu Gif İnjection?

PHP ile yazılmış sitelerinizde, kullanıcının veri gönderdiği alanlar ile yapılan (resim, txt vb. upload işlemleri sırasında) bir PHP kandırmacasıdır. PHP dosyalarının üstüne bir kod ekleyip ve .gif.php olarak kayıt ettiklerinde sisteminiz bu dosyayı Gif olarak algılayabiliyor aslına o bir php kodu ancak sistem onu Gif zannediyor.

Nasıl Yapılıyor Gif İnjection?

Amacım burada başkalarının sitesine zarar vermenizi sağlamak değil. Amacım burada yaptığınız sitelere başkasının zarar vermesini engellemek öncelikle burada bir anlaşalım. Daha sonra konumuza gelirsek, oluşturulan php dosyasının en üst satırına,

GIF89;a
<?php
/*
PHP Kodlarımı Yazıyorum
*/
.
.
.
?>

GIF89;a ekleyerek bu işlemi gerçekleştirebiliyoruz. Dosyamızı kayıt ederken ise dosya_adi.gif.php olarak kayıt etmemiz yeterli oluyor.

Gif İnjection’a Karşı Alınabilecek Önlemler

Htaccess İle Güvenlik

Upload edilen dosyaları muhakkak toplu olarak bir dizinde tutun ve böylelikle işlemesi ve kontrolü kolay olur. Bu tuttuğunuz dizine .htaccess ile sadece resim uzantılarına erişimi izin verirseniz php dosyaları otomatik olarak çalışmaz hale gelecektir.

Gif Kontrolü

PHP Readfile ile gif dosyamızı okuyup kontrol edebiliriz. Bu işlemi yapmanızı tavsiye ederim. Çünkü herhangi bir yolla shell olan gif dosyasını çağırırsanız sisteminize ciddi zararlar verebilirsiniz.