XXE - Portswigger Lab

lyxG

Katılımcı Üye
15 Ocak 2019
310
1
76
m9RCVr.png
2vswlk2.png


Selamlar, bugün xml dökümanlarında bulunan entity ; zararlı referansları ile ilgili zafiyetleri portswigger üzerinden işleyeceğiz. XXE zafiyeti, entity yapılarını suistimal eder. Bir saldırgan, hedef sitenin hassas sistem dosyalarına erişmesi, uzak sunuculara ping back saldırıları yapmak, dos saldırıları gibi kritik seviyelerde işlemler yapabilir.

LABARATUAR 1


İlk örneği açtığımda image ve product etraflarında xml verisi kullanabileceğim herhangi birşey göremedim, gözüm check stock alanına erişti. İlk requestim ve gelen response örneğine bakalım.

xtsB


Burada xml varlığını kullanabilediğimi görüyorum, bunun için xml tagının açıldığı bölümün aşağı kısmına
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> payloadımı verdim, lakin gelen giden birşey yok ekrana bastırmak için <productId> bölümüne verdiğim xxe değerini (Ğ) atamak için ;


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test [ <!ENTITY ğ SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&ğ;</productId><storeId>1</storeId></stockCheck>


T4n9


Ve işin sonunda file ile birlikte etc klasörü altında passwd dosyasını okuyabildik. Bunlarla beraber LFİ ile birlikte log poising (apache-ningx) rce alınabilir veya proc environ üzerinden komut çalıştırma, reverse alma gibi işlemler yapabilirsiniz.


LABARATUAR 2

Bu örnekte bizden herhangi bir dosya okumayı yalnızca bunu cloud sistem için yapmamızı istiyor. Yani bilindik http://169.254.169.254/ url'i üzerinden bir nevi SSRF saldırısı deneyeceğiz. Stock check alanına giriyorum.

WvYx


İşlemimiz normal şekilde çalışıyor, lakin bu durumu SYSTEM içinden adamın kullandığı cloud mimarisinin kritik verilerini bulacağız. Portswiggerin bize verdiği ilk ip adresinden deniyorum ve response değerlerimiz geliyor.

TeBZ


Bize gelen response üzerinden yavaş yavaş takip ederek ilerleyeceğiz. Öncelikle ;
/latest/ /meta-data/ /iam/ /security-credentials/ /admin/ patherini keşfederek ilerlerken en sonunda admine ait token ve keyleri ele geçiriyorum.

Syki


LABARATUAR 3

Bu uygulamada bizlerden svg dosyası yükleyerek sistem içindeki dosyaları okumamız hedefleniyor. Sistemde ilk yaptığımız gibi stock check alanı görünmüyor, bunun yerine blog içerisinde yorum alanında avatar yükleme kısmını keşfediyorum biraz araştırdıktan sonra ;

OZ5z


Bu yapıyı .svg olarak atmam gerekiyor, lakin sürekli 500 server hatası aldığım için durumun Mime-Type ile ilgili olabileceğini düşündüm bunun için
Content-Type: image/png kısmını image/svg+xml olarak değiştiriyorum. Ve hey.svg uzantılı dosyamı yüklüyorum. Ve 500 yanıtından ziyade 302 alıp başarılı oluyoruz.

EvVX


Ve yüklenen resimdeki datayı kullanıcının post kısmına bakarak istediğimiz bilginin user fotoğrafı olarak görebilirsiniz. Sağ tık sekmesi ile açabilir veyahut resmi indirip string değerlerini manuel okuyabilirsiniz.


3Wq1


Ve artık bizden tek istediği şey /etc/hosts içindeki bu değeri submit solitions bölümüne girmek kalıyor. Zorlanmamanız için bunuda vereceğim.

Xiy4


LABARATUAR 4

Bu lab uygulamasında ise XInclude tabanlı saldırı yapmamızı istiyor. Labı açıyorum ve ilk check stock requestimi veriyorum lakin herhangi bir xml datası görünmüyor.

j9lf


Aklıma ilk olarak xml tagları vererek testler yapmaktan geçti, hiçbir sonuç alamayınca sadece productId & storeId kısımlarını baz aldığını anlayıp içerideki integer veryi silip kendi payloadımı çalıştırıyorum.

HVIH


Beni dinlediğiniz için teşekkür ederim. Selametle kalın hoşçakalın <3

m9RCVr.png
2vswlk2.png
 
Son düzenleme:
Ü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.