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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/charlie-belmer/nosqli
Сканеры уязвимостейЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubcharlie-belmer/nosqli

nosqli

Инструмент командной строки для NoSql Injection, предназначенный для поиска уязвимых веб-сайтов, использующих MongoDB.

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

Популярное

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

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

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

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

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

NoSQL Injector Tweet

Изображение заголовка Быстрый сканер и инжектор NoSQL. Для поиска сайтов, уязвимых к NoSQL-инъекциям, в частности Mongo.

О Nosqli

Я хотел создать лучший инструмент для NoSQL-инъекций, который был бы прост в использовании, полностью основан на командной строке и настраиваем. С этой целью я начал работу над nosqli — простым инструментом для NoSQL-инъекций, написанным на Go.

Он стремится быть быстрым, точным и высокоудобным, с понятным интерфейсом командной строки.

Функции

На данный момент Nosqli поддерживает обнаружение NoSQL-инъекций для MongoDB. Он выполняет следующие тесты:

  • На основе ошибок — внедрение различных символов и полезных нагрузок для поиска известных ошибок Mongo в ответах.
  • Слепая булева инъекция — внедрение параметров с истинными/ложными нагрузками и попытка определить наличие инъекции.
  • Инъекция задержки — попытка внедрить временные задержки на сервере для измерения времени ответа.

Установка

Скачайте последнюю версию бинарного файла для вашей ОС и установите его в PATH или запускайте из локальной папки.

План развития

Я планирую добавить функции извлечения данных. Если вы хотите увидеть другие функции или параметры конфигурации, пожалуйста, отправьте pull request или создайте issue!

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

Он должен быть самодокументированным — просто запустите команду и прочитайте файлы справки.

root@kitploit:~
$ nosqli
NoSQLInjector is a CLI tool for testing Datastores that 
do not depend on SQL as a query language. 

nosqli aims to be a simple automation tool for identifying and exploiting 
NoSQL Injection vectors.

Usage:
  nosqli [command]

Available Commands:
  help        Help about any command
  scan        Scan endpoint for NoSQL Injection vectors
  version     Prints the current version

Flags:
      --config string       config file (default is $HOME/.nosqli.yaml)
  -d, --data string         Specify default post data (should not include any injection strings)
  -h, --help                help for nosqli
  -p, --proxy string        Proxy requests through this proxy URL. Defaults to HTTP_PROXY environment variable.
  -r, --request string      Load in a request from a file, such as a request generated in Burp or ZAP.
  -t, --target string       target url eg. http://site.com/page?arg=1
  -u, --user-agent string   Specify a user agent

Use "nosqli [command] --help" for more information about a command.

$ nosqli scan -t http://localhost:4000/user/lookup?username=test
Running Error based scan...
Running Boolean based scan...
Found Error based NoSQL Injection:
  URL: http://localhost:4000/user/lookup?=&username=test
  param: username
  Injection: username='

Вы можете протестировать инструмент с помощью моего уязвимого приложения на Node.js или других лабораторий по NoSQL-инъекциям.

При выборе целевого URL убедитесь, что все тестируемые параметры присутствуют в URL. Например, предположим, что у сайта есть страница /user/lookup с формой поиска. После ввода данных в поле URL меняется на /user/lookup?username=<данные>. Если вы просканируете только /user/lookup, инструмент не найдет возможных инъекций. Для правильного сканирования убедитесь, что используется полный URL со всеми параметрами (в данном случае /user/lookup?username=<данные>).

Сборка из исходного кода

Если вы предпочитаете собирать из исходного кода или нет скомпилированного бинарного файла для вашей платформы, вы можете сделать это, клонировав репозиторий, установив зависимости и собрав проект вручную. Для этого потребуется последняя версия Go и соответствующая переменная окружения GOPATH.

root@kitploit:~
$ git clone https://github.com/Charlie-belmer/nosqli
$ cd nosqli
$ go get -u -d ./...
$ go install
$ nosqli -h

Запуск тестов

Включен приличный набор тестов. Модульные тесты вместе с простым покрытием инъекций можно запустить с помощью go test из корневого каталога:

root@kitploit:~
go test ./...

Интеграционные тесты также доступны — они запускают инъекции против известных уязвимых приложений, запущенных локально. Чтобы использовать интеграционные тесты, установите и запустите уязвимое приложение на Node.js для Mongo и мой форк уязвимой PHP-лаборатории от digininja. Не забудьте перейти на каждый сайт и сбросить БД! Затем передайте флаг integrations:

root@kitploit:~
go test ./... -args -integrations=true

Если какая-либо среда не найдена, интеграционные тесты будут отключены одним из тестовых случаев, чтобы ускорить выполнение тестов.

Участие

Приветствуются любые вклады! Пожалуйста, отправляйте pull request или создавайте issue для обсуждения.

Лицензия для авторов

Если не указано иное, считается, что вы предоставляете проекту nosqli неограниченное, неисключительное право на повторное использование, модификацию и смену лицензии вносимого вами кода. Этот проект всегда будет доступен с открытым исходным кодом, но это важно, поскольку невозможность сменить лицензию вызвала разрушительные проблемы для других проектов свободного ПО (таких как KDE и NASM). Если вы хотите указать особые условия лицензии для своих вкладов, просто сообщите об этом при отправке.

Скачать инструмент