in Go, Güvenlik

Resim Dosyasını Doğrulayan Go Paketi (secureimage)

Direkt mesaj ile başlıyorum konuya: Developer insanının adeti olmalıdır. Dışarıdan uygulamaya gelen girdilere (input) hiç bir zaman güvenilmez.

Paronayaklık tribi ile özelikle yüklenen (upload) resim dosyalarını doğrulayan ufak bir go paketi hazırladım. İsmine de secureimage dedim.

Ne Yapar?

Secureimage paketi,  Go ile geliştirilen Web Uygulamalarında upload edilen resim dosyalarının içeri alınmadan gerçekten resim dosyası olup olmadığına bakar. Eğer resim dosyası özelliklerine sahip ise (örneğin magic byte’ı PNG mi? gibi) bu sefer binary içeriğin hakikatten o dosya formatını karşıladığına bakar. Dosya formatı doğrulandığnda da o dosyaya ait olmayan tüm veriyi temizleyerek bu dosyaya güvenilip güvenilmeyeceğini size bildirir.

Motivasyon

Resim dosyalarını uzak sunucuya yükleyerek kod çalıştırılan bazı saldırı teknikleri var. Örneğin resim dosyasının ilk 3 byte’ı GIF gibi görünüyor fakat o resim dosyasını siteye upload edip görüntülendiği zaman bir XSS açığını sömürüyor.

Diğer bir örnek ise. Resim dosyası içine sunucu tarafında çalıştırılabilen bir kod yazılıyor. Dosyayı web üzerinden çağırdığınız zaman bu script çalışıp bazı saldırıları tetikleyebiliyor.

Bu saldırılara maruz kalmamak için resim dosyalarının doğrulanması ve gerekirse tekrar encode edilmesi web uygulamalarında ihtiyaç haline geliyor.

[Podcast] PHP 7 Üzerine

MaestroPanel’in bir Podcast kanalı var (itunes). Sektörden haberleri paylaşmak için açtığımız bir kanal. Kurumsal olarak açtık fakat ben kafama göre konuşuyorum, bir nevi hobi edindim kendime. Tabi zaman ve motivasyon buldukça düzensiz yayın yapabiliyoruz.

Son olarak PHP7 desteğini MaestroPanel’e eklerken edindiğimiz tecrübeler üzerine biraz konuştum. Dinlemek için aşağıdan takılın.

Orjinal sayfa: https://wiki.maestropanel.com/maestropanel-radar-6-php-7/

Podcast’i nasıl çekiyorum:

  1. Kayıt cihazı olarak iPhone 4
  2. Sesi editlemek için Audacity yazılımı
  3. iTunes ve Android’de yayınlamak için ise Blubrry PowerPress eklentisini kullanıyorum.

Geçen elemanın biri, podcast kayıtlarımı dinleyip bana ulaştı. “Bende Podcast yapmayı düşünüyorum şu 300$’lık mikrofonlardan hangisini önerirsin diye” sordu. Ona yukarıdaki listeyi küfür ederek gönderdim.

Genelde etrafta görüyorum, koşmak için istediği ayakkabının mağazaya gelmesini bekliyor. Blog yazacak güzel tema bulamadığından şikayet ediyor. Bir girişime başlayacak işten çıkmak istemiyor. Tavsiye ile karışık vaaz vermeyeceğim tabi de, bu tipler fazla artmaya başladı. Belki internetin kullanımı ile ilgilide olabilir…
Sosyologlar incelesin. :]

O değilde yazı nasıl başladı, nasıl bitti arkadaş ya!