mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/nosql-injection.md'] to el
This commit is contained in:
parent
2f3c67a811
commit
bc156b39de
@ -4,7 +4,7 @@
|
||||
|
||||
## Exploit
|
||||
|
||||
Στην PHP μπορείτε να στείλετε ένα Array αλλάζοντας την αποσταλείσα παράμετρο από _parameter=foo_ σε _parameter\[arrName]=foo._
|
||||
Στην PHP μπορείτε να στείλετε ένα Array αλλάζοντας την παραμετρο _parameter=foo_ σε _parameter\[arrName]=foo._
|
||||
|
||||
Οι εκμεταλλεύσεις βασίζονται στην προσθήκη ενός **Operator**:
|
||||
```bash
|
||||
@ -86,7 +86,7 @@ in JSON
|
||||
|
||||
### Λάβετε πληροφορίες από διαφορετική συλλογή
|
||||
|
||||
Είναι δυνατόν να χρησιμοποιήσετε [**$lookup**](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/) για να λάβετε πληροφορίες από μια διαφορετική συλλογή. Στο παρακάτω παράδειγμα, διαβάζουμε από μια **διαφορετική συλλογή** που ονομάζεται **`users`** και λαμβάνουμε τα **αποτελέσματα όλων των καταχωρήσεων** με έναν κωδικό πρόσβασης που ταιριάζει με ένα wildcard.
|
||||
Είναι δυνατόν να χρησιμοποιήσετε [**$lookup**](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/) για να λάβετε πληροφορίες από μια διαφορετική συλλογή. Στο παρακάτω παράδειγμα, διαβάζουμε από μια **διαφορετική συλλογή** που ονομάζεται **`users`** και λαμβάνουμε τα **αποτελέσματα όλων των καταχωρίσεων** με έναν κωδικό πρόσβασης που ταιριάζει με ένα wildcard.
|
||||
|
||||
**ΣΗΜΕΙΩΣΗ:** `$lookup` και άλλες συναρτήσεις συγχώνευσης είναι διαθέσιμες μόνο αν χρησιμοποιήθηκε η συνάρτηση `aggregate()` για να εκτελέσει την αναζήτηση αντί των πιο κοινών συναρτήσεων `find()` ή `findOne()`.
|
||||
```json
|
||||
@ -108,6 +108,12 @@ in JSON
|
||||
}
|
||||
]
|
||||
```
|
||||
### Error-Based Injection
|
||||
|
||||
Εισάγετε `throw new Error(JSON.stringify(this))` σε μια ρήτρα `$where` για να εξάγετε πλήρη έγγραφα μέσω σφαλμάτων JavaScript στον διακομιστή (απαιτεί την εφαρμογή να διαρρεύσει σφάλματα βάσης δεδομένων). Παράδειγμα:
|
||||
```json
|
||||
{ "$where": "this.username='bob' && this.password=='pwd'; throw new Error(JSON.stringify(this));" }
|
||||
```
|
||||
## MongoDB Payloads
|
||||
|
||||
Λίστα [από εδώ](https://github.com/cr0hn/nosqlinjection_wordlists/blob/master/mongodb_nosqli.txt)
|
||||
@ -229,5 +235,6 @@ get_password(u)
|
||||
- [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/NoSQL%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/NoSQL%20Injection)
|
||||
- [https://nullsweep.com/a-nosql-injection-primer-with-mongo/](https://nullsweep.com/a-nosql-injection-primer-with-mongo/)
|
||||
- [https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb](https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb)
|
||||
- [https://sensepost.com/blog/2025/nosql-error-based-injection/](https://sensepost.com/blog/2025/nosql-error-based-injection/)
|
||||
|
||||
{{#include ../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user