Çerez Kullanımı

Bu web sitesi, deneyiminizi iyileştirmek ve site kullanımını analiz etmek için çerezler kullanmaktadır. Gizlilik Politikası sayfamızdan detaylı bilgi alabilirsiniz. Çerezleri kabul ederek, KVKK kapsamında verilerinizin işlenmesine onay vermiş olursunuz.

Samet Karabulut - XML Dış Varlık Enjeksiyonu (XXE) ve Siber Güvenlik
#SIBERGüVENLIK #XXE #XMLDışVARLıKENJEKSIYONU #NMAP #NIKTO #GüVENLIKTESTLERI

XML Dış Varlık Enjeksiyonu (XXE) ve Siber Güvenlik

Samet Karabulut

February 14, 2026

3 min read

XML Dış Varlık Enjeksiyonu Nedir?

XML Dış Varlık Enjeksiyonu, bir uygulamanın XML dosyalarını işlerken güvenlik açıklarından yararlanarak sistemde yetkisiz erişim sağlamaya çalışan bir saldırı türüdür. Bu tür saldırılar, özellikle büyük ölçekli sistemlerde önemli güvenlik tehditleri oluşturabilir.

Deneyimlerime göre, XXE zafiyetleri sıklıkla XML dosyalarının işlenmesinde kullanılan kütüphaneler veya framework'lerin eski sürümlerinde ortaya çıkar. Bu durum, saldırganların sistemde mevcut olan dosyaları okumasına, hatta bazı durumlarda sistem komutları çalıştırmasına izin verebilir.

XXE Tespiti

Sızma testlerinde sıklıkla karşılaşıyorum ki, XXE zafiyetlerinin tespiti için kullanılan araçlar arasında Nmap ve Nikto gibi güvenlik tarama araçları bulunur. Bu araçlar, sistemdeki açık portları ve hizmetleri tarayarak olası zafiyetleri belirler.

nmap -p 80 --script http-xml -script-args='http-xml.url=/example.xml' hedefsite.com

Burada gösterilen komut, Nmap kullanarak hedef sistemin 80. portunda çalışan HTTP servisinin XML dosyalarını işlerken XXE zafiyetlerine karşı tarar.

XXE Sömürü

XXE zafiyetlerinin sömürülmesi için genellikle özel olarak hazırlanmış XML dosyaları kullanılır. Bu dosyalar, sistemde bulunan kritik dosyaların okunmasını veya sistem komutlarının çalıştırılmasını sağlayabilir.

<?xml version="1.0"?>
<!DOCTYPE root [ <!ENTITY xxe SYSTEM 'file:///etc/passwd'> ]>
<root><xxe>&xxe;</xxe></root>

Bu örnek XML dosyası, sistemdeki /etc/passwd dosyasının içeriğini okunmasını sağlar.

Çözüm ve Önlem

XXE zafiyetlerinden korunmak için, kullanılan kütüphaneler ve framework'lerin güncel sürümlerini kullanmak önemlidir. Ayrıca, XML dosyalarının işlenmesinde kullanılan kütüphanelerin XXE saldırılarına karşı korumalı olması da kritik önem taşır.

Örneğin, Java'da kullanılan Xerces kütüphanesinin XXE saldırılarına karşı korumalı olması için, aşağıdaki gibi bir yapılandırma kullanabilirsiniz:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
factory.setXIncludeAware(false);
factory.setExpandEntityReferences(false);

Sonuç

XML Dış Varlık Enjeksiyonu, sistemlerin güvenliğini tehdit eden önemli bir saldırı türüdür. Bu tür saldırıları önlemek için, güncel ve güvenli kütüphaneler kullanmak, XML dosyalarının işlenmesinde kullanılan kütüphanelerin XXE saldırılarına karşı korumalı olması ve güvenlik testlerinin düzenli olarak yapılması önemlidir.

Yorumlar

Henüz yorum yok. İlk yorumu sen yap.