🧬 XML External Entity (XXE) Nedir ❓ XML Üzerinden İç Sistemlere Sızma Tekniği

Paylaşımı Faydalı Buldunuz mu❓

  • Evet

    Oy: 11 100.0%
  • Hayır

    Oy: 0 0.0%

  • Kullanılan toplam oy
    11

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ı:

🧬 XML External Entity (XXE) Nedir ❓ XML Üzerinden İç Sistemlere Sızma Tekniği​


“Bir format masum görünebilir; ama ona körü körüne güvenmek sistemi içeriden açar.”
Ersan Karavelioğlu



1️⃣ XXE Nedir ❓


🧬 XXE (XML External Entity), bir uygulamanın XML parse ederken harici (external) entity’leri kontrolsüz biçimde işlemesi sonucu ortaya çıkan güvenlik açığıdır.
🧠 Saldırgan, XML’in içine başka kaynaklara referanslar yerleştirir.
✨ Okuma, sızma ve hatta servis dışı bırakma mümkün olur.




2️⃣ Neden XML Tehlikeli Olabilir ❓


📄 XML güçlüdür; entity, DTD, referans destekler.
⚠️ Güç, sınırlandırılmazsa riske dönüşür.
🧠 Sorun XML’de değil, parser ayarlarındadır.




3️⃣ External Entity Ne Demektir ❓


🔗 XML içinde tanımlanan ve harici bir kaynağı işaret eden varlıktır.
🧠 Dosya, URL veya sistem kaynağı olabilir.
✨ Parser bunu otomatik çözerse açık başlar.




4️⃣ Basit Bir XXE Mantığı ❓


📥 Uygulama XML alır
⚠️ DTD açıktır
🧠 Entity çözülür → harici kaynağa erişilir




5️⃣ Klasik Bir XXE Örneği ❓


📄 XML içine:
<!ENTITY xxe SYSTEM "file:///etc/passwd">
🧠 Parser dosyayı okur, çıktıya yazar.
✨ İç sistem bilgileri sızar.




6️⃣ XXE ile Neler Yapılabilir ❓


📂 Sunucu dosyalarını okuma
🌐 İç ağ servislerine istek
☁️ Cloud metadata sızdırma
🧠 Etki alanı geniştir.




7️⃣ Blind XXE Nedir ❓


🕳️ Yanıt kullanıcıya dönmez.
📡 Ama istek gönderilir.
🧠 Etki, loglar veya yan kanallarla anlaşılır.




8️⃣ XXE ve SSRF İlişkisi ❓


🔗 XXE, SSRF’ye kapı açabilir.
🧠 Entity bir URL’yi işaret ederse sunucu istek atar.
✨ İç ağlar hedef olur.




9️⃣ Cloud Ortamlarında XXE Riski ❓


☁️ Metadata endpoint’leri XML ile çağrılabilir.
🔑 IAM bilgileri sızabilir.
🧠 Tek XML, tüm bulutu açabilir.




🔟 XXE ve Dosya Sızdırma ❓


📂 /etc/passwd, konfigürasyonlar
🔐 Anahtarlar, secret’lar
🧠 XML, dosya okuma aracına dönüşür.




1️⃣1️⃣ Neden Hâlâ Görülür ❓


⚠️ Eski parser’lar
📦 Varsayılan ayarlar
🧠 “XML güvenlidir” yanılgısı




1️⃣2️⃣ Hangi Alanlar Risklidir ❓


📨 XML API’ler
🧾 SOAP servisleri
📄 Dosya upload / import
🧠 XML giren her yer potansiyel hedeftir.




1️⃣3️⃣ WAF XXE’yi Engeller mi ❓


🛡️ Bazı bilinen payload’ları yakalar.
⚠️ Ama Blind XXE kaçabilir.
🧠 Asıl çözüm parser seviyesindedir.




1️⃣4️⃣ Güvenli Parser Yapılandırması ❓


🔒 DTD’leri kapat
🚫 External entity çözümlemeyi devre dışı bırak
🧠 Varsayılanları güvenli hâle getir




1️⃣5️⃣ XML Yerine Alternatifler ❓


🧩 JSON (daha sade)
🧠 Daha az karmaşıklık, daha az risk
✨ Ama yine de doğrulama şarttır




1️⃣6️⃣ Loglama ve Tespit ❓


📜 Anormal entity tanımları
📡 İç IP’lere istekler
🧠 XXE çoğu zaman loglarda iz bırakır




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


🚫 “XML sadece veri taşır.”
⚠️ XML çalışır, çözer, çağırır.
🧠 Bu güç kontrol ister.




1️⃣8️⃣ Nasıl Önlenir ❓


🧭 DTD ve external entity’leri kapat
🔐 Input doğrulama
📦 Güvenli kütüphaneler
🧠 XML’i pasif veri gibi ele al




1️⃣9️⃣ Son Söz ❓ Masum Format, Tehlikeli Yetki​


🪶 XXE, formatlara verilen sınırsız güvenin sonucudur.
🧠 XML konuşur; ne söylediğini bilmeden dinlersen sızar.
✨ Güvenli sistem, parse ederken bile temkinlidir.


“Veriyi işlemek başka, onu konuşturmak bambaşkadır.”
Ersan Karavelioğlu
 

M͜͡T͜͡

Geri
Üst Alt