PNG Upload Güvenliği: 'Sadece Görsel' Demek Neden Doğrulama Stratejisi Değildir?

PNG Upload Security: Why 'It's Just an Image' Is Not a Validation Strategy

Kullanıcıdan gelen PNG dosyaları yine de sınır ve güvenli decode gerektirir. Dosya boyutu tek başına açılmış görüntünün bellek maliyetini veya parser riskini anlatmaz.

Kullanıcıdan gelen PNG dosyaları yine de sınır ve güvenli decode gerektirir. Dosya boyutu tek başına açılmış görüntünün bellek maliyetini veya parser riskini anlatmaz.

Sıkıştırılmış byte, decode boyutu değildir

Görece küçük dosya çok büyük ölçüler ilan edebilir. Decode edildiğinde raster; genişlik × yükseklik × kanal × örnek başına byte kadar ve ek çalışma belleği gerektirebilir. Körlemesine allocation yapmadan önce ölçüleri doğrulayın.

Uzantıya değil parser'a güvenin

Dosyanın adını .png yapmak onu PNG yapmaz. Güncel tutulan görüntü kütüphanesiyle formatı doğrulayın ve bozuk girdiyi reddedin. İstemcinin gönderdiği MIME header kanıt değil ipucudur.

Kaynak sınırları koyun

Dosya byte'ı, piksel ölçüleri, toplam piksel sayısı, decode süresi, animasyonda frame sayısı ve sonraki transform işini sınırlandırın. Limitler ürünün gerçekten ihtiyaç duyduğu değerlere göre belirlenmelidir.

Metadata büyük veya beklenmedik olabilir

PNG genişletilebilir ve ancillary chunk taşıyabilir. Yalnız piksel bekleyen pipeline hangi metadata'yı koruyacağını belirlemeli; sınırsız ek verinin istemeden depolama kanalına dönüşmesine izin vermemelidir.

Yeniden encode yararlıdır ama sihirli değildir

Güvenilir kütüphaneyle decode edip yeniden encode etmek birçok upload'u normalize edip istenmeyen metadata'yı kaldırabilir; ancak decoder yine saldırgan kontrollü byte'ları işler. Kütüphaneleri güncel tutun ve pahalı işlemleri gerektiğinde izole edin.

İş nesnesini de doğrulayın

Geçerli PNG yine de ürün için yanlış görüntü olabilir: yanlış ölçü, aspect ratio, şeffaflık politikası, animasyon veya içerik. Dosya formatı doğrulaması upload güvenliğinin yalnız bir katmanıdır.

Kaynaklar ve teknik dayanak

Temel teknik kaynak: W3C Portable Network Graphics (PNG) Specification, Third Edition (2025). Web teslimiyle ilgili bölümlerde uygun yerlerde MDN responsive image dokümantasyonu da esas alınmıştır.

Okumaya devam et