🧩 Deserialization Vulnerabilities Nedir ❓ Güvenilen Nesnelerle Gelen Kontrol Kaybı

Paylaşımı Faydalı Buldunuz mu❓

  • Evet

    Oy: 8 100.0%
  • Hayır

    Oy: 0 0.0%

  • Kullanılan toplam oy
    8

ErSan.Net

ErSan KaRaVeLioĞLu
Yönetici
❤️ AskPartisi.Com ❤️
Moderator
MT
21 Haz 2019
47,343
2,494,312
113
42
Ceyhan/Adana

İtibar Puanı:

🧩 Deserialization Vulnerabilities Nedir ❓ Güvenilen Nesnelerle Gelen Kontrol Kaybı​


“Güvendiğin veri konuşmaya başladığında, kontrol çoktan el değiştirmiştir.”
Ersan Karavelioğlu



1️⃣ Deserialization Vulnerabilities Nedir ❓


🧩 Deserialization Vulnerabilities, uygulamanın dışarıdan gelen serileştirilmiş (serialized) veriyi doğrulamadan nesneye dönüştürmesi sonucu ortaya çıkan kritik güvenlik açıklarıdır.
🧠 Veri tekrar nesne olurken
✨ Yetki ve davranış da geri gelir.




2️⃣ Serialization / Deserialization Ne Demektir ❓


📦 Serialization → Nesneyi veri formatına çevirme
🔁 Deserialization → Veriyi tekrar nesneye dönüştürme
🧠 Sorun dönüşümde değil, kime güvendiğindedir.




3️⃣ Neden Bu Kadar Tehlikelidir ❓


🔥 Çünkü nesneler davranış taşır.
🧠 Metotlar, constructor’lar, magic function’lar çalışabilir.
✨ Saldırı veriyle değil, davranışla gelir.




4️⃣ Güven Yanılgısı Nerede Başlar ❓


🚫 “Bu veri daha önce bizim ürettiğimiz veri.”
⚠️ Ama artık istemciden geliyor.
🧠 Güven zinciri burada kopar.




5️⃣ Hangi Dillerde Görülür ❓


🐘 PHP (unserialize)
☕ Java (ObjectInputStream)
🟦 .NET (BinaryFormatter)
🧠 Nesne destekleyen her dil risk altındadır.




6️⃣ Nesne Enjeksiyonu Nedir ❓


🧩 Saldırgan özel hazırlanmış nesne gönderir
🧠 Deserialization sırasında çalışır
✨ Kod yazmadan kod çalıştırılır




7️⃣ Magic Method Tehlikesi ❓


✨ __wakeup, __destruct, __toString
🧠 Otomatik çağrılırlar
⚠️ Kontrol edilmezse istismar edilirler




8️⃣ POP Chain Nedir ❓


🔗 Property-Oriented Programming Chain
🧠 Zararsız sınıflar zincirlenir
✨ Sonunda tehlikeli davranış tetiklenir




9️⃣ Deserialization ile Neler Yapılabilir ❓


📂 Dosya silme / okuma
📡 SSRF
💣 RCE (Remote Code Execution)
🧠 Etki alanı çok geniştir




🔟 Blind Deserialization Saldırıları ❓


🕳️ Çıktı görünmez
📡 Ama etki oluşur
🧠 Loglar ve yan etkiler tek ipucudur




1️⃣1️⃣ Session ve Cookie Riskleri ❓


🍪 Session verileri serialize ediliyorsa
🧠 Manipülasyon mümkündür
✨ Kimlik doğrulama bile aşılabilir




1️⃣2️⃣ JSON Güvenli midir ❓


🧩 Daha güvenlidir ama masum değildir
🧠 Tip dönüşümleri risk doğurabilir
✨ “Format” tek başına çözüm değildir




1️⃣3️⃣ WAF Bu Açığı Engeller mi ❓


🛡️ Bazı pattern’leri yakalar
⚠️ Ama özel payload’lar geçer
🧠 Asıl çözüm uygulama içindedir




1️⃣4️⃣ Neden Hâlâ Yaygındır ❓


⚠️ Legacy kodlar
📦 Framework varsayılanları
🧠 Performans ve kolaylık güvenliğin önüne geçer




1️⃣5️⃣ Güvenli Tasarım Nasıl Olmalı ❓


🧭 Deserialization’dan kaçın
📋 Sadece primitive tipler kullan
🧠 Nesneler dışarıdan gelmemelidir




1️⃣6️⃣ Mutlaka Gerekliyse Ne Yapılmalı ❓


🔐 Allowlist sınıf doğrulaması
🚫 Magic method’ları devre dışı bırakma
🧠 İmzalama ve bütünlük kontrolü




1️⃣7️⃣ Loglama ve Tespit ❓


📜 Beklenmeyen deserialization hataları
📊 Anormal davranış zincirleri
🧠 Erken sinyal büyük hasarı önler




1️⃣8️⃣ En Büyük Yanılgı ❓


🚫 “Bu sadece veri.”
⚠️ Hayır, bu davranış paketidir.
🧠 Nesne masum değildir.




1️⃣9️⃣ Son Söz ❓ Nesneler Konuşursa Kontrol Kaybolur​


🪶 Deserialization Vulnerabilities, veriye verilen kör güvenin sonucudur.
🧠 Bir nesne yeniden doğduğunda, geçmişini de getirir.
✨ Güvenli uygulama, nesneleri dışarıdan kabul etmez.


“Nesneyi geri çağırdığında, davranışını da çağırırsın.”
Ersan Karavelioğlu
 

M͜͡T͜͡

Geri
Üst Alt