XML External Entity (XXE) Nedir ? (Uygulamalı) // Qwx

Qwx

Kıdemli Üye
30 Nis 2012
2,728
13
XML External Entity (XXE) Nedir ?

XXE açıkları 2017 yılında OWASP Top 10 listesinde ilk kez yer aldı ve hemen 4 numaraya ulaştı. Ciddi sonuçları olabilir ve büyük güvenlik riskleri olarak değerlendirilmelidirler.

XML External Entity (XXE), yaygın olarak kullanılan XML ayrıştırıcılarının bir özelliği olan saldırı türüdür. Kötü niyetli kişinin herhangi bir uygulamanın XML veriline müdahale etmesine izin veren bir güvenlik açığıdır. Genellikle kötü niyetli kişinin uygulamanın sunucusunda ki dosyaları görüntülemesine ve erişebileceği herhangi bir backdoor veya harici sistemle etkileşime gitmesine izin verir. Bazen kötü niyetli kişi SSRF saldırıları gerçekleştirmek için XXE güvenlik açığını kullanabilir. Yine XXE kullanarak DOS saldırılarına neden olabilir ve ayrıca yerel/küresel hizmetlere de erişim sağlayabilir. XXE bağlantı noktası taraması etkinleştirerek uzaktan kod yürütülmesine neden olabilir.

XXE Nasıl Oluşur ?

XXE açıklarının bir çoğu, uygulamada gereksinim olmadığı halde var olan XML özelliklerinden dolayı meydana gelmektedir.

Bir takım uygulamalar tarayıcı ile sunucu arasında veri iletişimini gerçekleştirmek için XML biçimini kullanırlar. Bunu yapan uygulamalar, sunucudaki XML verilini işlemek için her zaman standart bir kütüphane veya platform kullanır. XXE güvenlik açığı ise XML'nin potansiyel olarak tehlikeli özellikler içerdiğinden ve standart ayrıştırıcılar bu özellikleri uygulama tarafından normalde kullanmasalar bile desteklendiğinden ortaya çıkar.

XXE Güvenlik Açığı İçin Alınacak Önlemler Nelerdir ?

Uygulamada kullanılan tüm XML işlemcileri ve kitaplıkların sürümlerini güncelleyebilirsiniz. SOAP'ı 1.2 veya daha yüksek bir sürüme güncellemeniz gerekmektedir.

XML ayrıştırıcılarında Documént Type Definition (DTD) işlemeyi devre dışı bırakabilirsiniz.

XML belgelerinde, dışarıdan girilen verileri önlemek adına bir beyaz liste sunucu taraflı giriş doğrulama veya filtreleme işlemi uygulayabilirsiniz.

SAST araçları, XXE'nin kaynak kodunda algılanmasına yardımcı olabilir, ancak manuel kod incelemesi birçok entegrasyona sahip büyük, karmaşık uygulamalarda en iyi alternatiftir.


JSON gibi daha az karmaşık veri biçimlerini kullanabilirsiniz.

XXE Güvenlik Açığı Kullanımı

XXE güvenlik açığını test etmek için ise Acunetix'in hazırladığı SecurityTweets - HTML5 test website for Acunetix Web Vulnerability Scanner sitesini kullanacağız. Öncelikle Burp Suite aracımızı çalıştırıyoruz ve siteye giriş yapıyoruz sonra sol üstte Login butonuna basıyoruz ve ardından açılan pop-up'da ise Forgot Pwd? butonuna basıyoruz.

1.jpg


Ardından gelen isteği de (Request) CTRL+R kombinasyonu ile Repeater'a yolluyoruz.

2.jpg

3.jpg


Şimdi ise XXE güvenlik zafiyetini kullanmak için bir payload yazıp tekrardan gönderme işlemini gerçekleştireceğiz. Payloadımızı yazdıktan sonra enjekte işlemimizi gerçekleştiriyoruz. Bizlerin yazmış olduğu payload doğrultusunda bir çıktı aldığımız için XXE güvenlik açığının bulunduğunu görmekteyiz.

4.jpg


XXE güvenlik açığı hakkında test işlemimizi Acunetix'in hazırladığı ortamda yapmış bulunmaktayız. Sizlerde XXE güvenlik açığını test etmek istiyorsanız HackTheBox:Dev0ops makinesini çözebilirsiniz. İlgili makinede kullanmanız gereken bir XXE güvenlik açığı bulunmaktadır :)


 

Eronmay

Özel Üye
18 Tem 2016
4,262
1,001
Yine Çok Güzel Bir Konu Yine Çok Güzel Bir Derecede Anlatım :)) Teşekkür Ederiz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.