Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo tworzyć i **automatyzować przepływy pracy** z wykorzystaniem najbardziej zaawansowanych narzędzi społecznościowych na świecie.\
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
Atakujący może wykorzystać to, wprowadzając ciągi znaków takie jak `admin' || 'a'=='a`, sprawiając, że zapytanie zwraca wszystkie dokumenty spełniające warunek z tautologią (`'a'=='a'`). Jest to analogiczne do ataków wstrzykiwania SQL, gdzie używane są dane wejściowe takie jak `' or 1=1-- -` do manipulowania zapytaniami SQL. W MongoDB podobne wstrzyknięcia można wykonać, używając danych wejściowych takich jak `' || 1==1//`, `' || 1==1%00`, lub `admin' || 'a'=='a`.
Wstrzykiwanie NoSQL jest podobne do wstrzykiwania SQL, ale zamiast zapytań SQL, atakujący manipuluje zapytaniami NoSQL. Atakujący może modyfikować zapytania, aby uzyskać dostęp do danych, zmieniając warunki zapytania, takie jak hasła czy warunki logiczne. Aby zabezpieczyć się przed wstrzykiwaniem NoSQL, zaleca się korzystanie z mechanizmów zapytań parametryzowanych dostępnych w większości sterowników MongoDB.
Korzystając z operatora **$func** biblioteki [MongoLite](https://github.com/agentejo/cockpit/tree/0.11.1/lib/MongoLite) (używanej domyślnie) może być możliwe wykonanie arbitralnej funkcji, jak w [tym raporcie](https://swarm.ptsecurity.com/rce-cockpit-cms/).
Możliwe jest użycie [**$lookup**](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/) do uzyskania informacji z innej kolekcji. W poniższym przykładzie czytamy z **innej kolekcji** o nazwie **`users`** i uzyskujemy **wyniki wszystkich wpisów** z hasłem pasującym do symbolu wieloznacznego.
**UWAGA:** `$lookup` i inne funkcje agregacji są dostępne tylko wtedy, gdy funkcja `aggregate()` została użyta do przeprowadzenia wyszukiwania, zamiast bardziej powszechnych funkcji `find()` lub `findOne()`.
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo budować i **automatyzować przepływy pracy** oparte na najbardziej zaawansowanych narzędziach społeczności.\
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formie PDF**, sprawdź [**PLANY SUBSKRYPCYJNE**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) do łatwego tworzenia i **automatyzacji workflowów** zasilanych przez **najbardziej zaawansowane** narzędzia społeczności.\