SSRF Korumalarını Atlama

Dec 25 2022
Merhaba, En son paylaşım yaptığımdan bu yana epey zaman geçti. Özel bir program araştırırken bulduğum düzgün bir SSRF bypass'ını paylaşmak istedim.

Merhaba,

En son yayınladığımdan bu yana bir süre geçti. Özel bir program araştırırken bulduğum düzgün bir SSRF bypass'ını paylaşmak istedim.

SSRF, sunucu tarafı istek sahteciliği anlamına gelir. Sunucu tarafı istek sahteciliği, bir saldırganın sunucu veya dahili ağ hakkında bilgi istemek için HTTP isteklerini kötüye kullanmasına olanak tanır.

Dikkat edilmesi gerekenler? url= next= host= image= img= vb. gibi parametreler. Bir sunucuya web isteği yapıyormuş gibi görünen herhangi bir şey. Bu daha sonra talebi dahili olarak yönlendirmek için kötüye kullanılabilir.

Savunmasız uç noktayı nasıl buldum?

Özel bir programda avlanırken kapsamlı bir keşif yapıyordum. Büyük bir alt alan listesi topladım, esas olarak censys'den aldım. Bundan sonra, kaba kuvvet uyguladım ve geri dönüş makinesinde tüm ana bilgisayarlardaki URL'leri aradım. O zamanlar odak noktam ssrf idi, bu yüzden dizinimi ve uç nokta çıktımı topladım ve "proxy.php" için grp yaptım. Şans eseri bir vuruşum oldu.

İsteği incelerken, bu, belirtilen bir URL'ye giden bir HTTP isteği yapıyordu. Geğirmek ortak çalışan bağlantımı girersem, bir arama almadım. Her zamanki temelleri denedim, 127.0.0.1'i ve dahili ana bilgisayarların IP notlarını girdim, istekte web sitesi ana bilgisayar adı yoksa her istek engellendi.

İşlerin teknikleştiği yer burasıdır. geğirme ortak çalışanımla tarayıcı kimlik bilgileri biçimlendirmesinin yanı sıra, örneğin url=https:// hostnameofwebsite.com@myburpcollablink gibi bir istek gönderirken bir yanıt aldım.

Daha sonra bunu değiştirerek yararlanmaya çalıştım çünkü şu anda yukarıdakiler tarayıcıyı hostnameofwebsite'yi kimlik bilgileri olarak myburpcollablink'e göndermek için kullanıyordu, ki bu hiç iyi değildi.

Kısa bir süre önce google'da bir ssrf videosu görmüştüm, eğer bir \ kullanırsanız bu, ilk ana bilgisayardan sonra arka uçta ayrıştırmayı durduracaktı. Ön uç, isteği hostnameofwebsite olarak myburpcollablink için kimlik bilgileri olarak yorumlar, ancak arka uç yalnızca ön uç isteğini işler, bu nedenle hostnameofwebsite. Burada değiştirdim ve url=http://169.254.1698.254\@hostnameofwebsite kullandım.

Açıklayalım. 169.254, AWS meta verilerinin dahili ip adresidir. Ön uç isteği, bunu 169.254 olarak hostnameofwebsite için kimlik bilgileri olarak görüyor ve bu, hostnameofwebsite istekte olması gerektiği için ön uç kontrolünden geçiyor. Arka uç bu formatı yok sayar ve şu şekilde işler:http://169.254.169.254\bu daha sonra sadece isteği keser ve iletir.

Çözüldü olarak kapatıldı