Hoşgeldin Misafir

WEB | OWASP TOP 10 | XML Entity Injection

Reisci

Reisci

Yerli Ve Milli Hacker
11 Mar 2020
6,569 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
WEB | OWASP TOP 10 | XML Entity Injection


XML’in açılımı Extensible Markup Language’dir. Genişletilebilir İşaretleme dili anlamına gelir ve HTML’nin geliştiricisi tarafından oluşturulmuştur.
XML içerisindeki verilen parse edilirken çağırılan payloadın enjekte edilmesine XML Entity Injection saldırısı denilir.

Serinin devamı olarak application.security üzerinden XML Entity Injection zaafiyetini anlatmaya başlayalım. PeakFitness uygulaması üzerinde saldır
ganımız Bob zaafiyet aramaya başlıyor. Uygulamaya giriş yaparak devam ediyor.
2py67iw.png


giriş yaptıktan sonra açılan anasayfa ekranında

xnaldjs.png


Yapılan spor aktivitelerini eşitlemek için kullanılan bi upload sayfası karşılıyor. ”.gpx” uzantısını kabul ettiğini görüyoruz.

sbdf83b.png


”route.gpx” dosyasının içeriğini incelediğimizde XML ile
lokasyon bilgilerini içeren taglar bulunduğunu görüyoruz.

cnoigfl.png


”route.gpx” seçtikten sonra Upload and Review e tıklayarak karşıya yüklüyoruz.

kjqc6l9.png


Gönderdiğimiz bilgilerin harita üzerinde işlendiğini görüyoruz.

s7mrktp.png


Yüklediğimiz ”route.gpx” dosyasına müdahale ederek ”/etc/password” dosyasını okumamızı sağlayacak tagları ekliyoruz.
Manipule ettiğimiz XML dosyasını karşıya yüklüyoruz.

ejhuhi6.png


Saldırganımız XML Entity Injection açığını kullanarak ”/etc/password” dizininin altını okumayı başardı. Bu şekilde zaafiyeti sömürmüş olduk.

6mtnaz0.png


Zaafiyetin oluştuğu kaynak kodları incelediğimizde Java ile yazılan kodlarda DocumentBuilderFactory ile bir nesne oluşturuluyor.
External General Entities parametresi true olarak veriliyor. Bu XML Entity Injection açığına sebeb oluyor.
rmtdlzs.png


Fixlenmiş kaynak kodları incelediğimizde ilk altı çizili satırda DOCTYPE girilmesi bloklanıyor.Ardından External General Entities parametresi false olarak değiştirilerek açık ortadan kaldırılıyor.