All Projects → Charlie-belmer → Nosqli

Charlie-belmer / Nosqli

Licence: agpl-3.0
NoSql Injection CLI tool, for finding vulnerable websites using MongoDB.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Nosqli

Vuls
Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices
Stars: ✭ 8,844 (+7270%)
Mutual labels:  security-tools, security-scanner, security-automation
Wsltools
Web Scan Lazy Tools - Python Package
Stars: ✭ 288 (+140%)
Mutual labels:  security-tools, security-scanner, security-automation
Patrowlengines
PatrOwl - Open Source, Free and Scalable Security Operations Orchestration Platform
Stars: ✭ 162 (+35%)
Mutual labels:  security-tools, security-scanner, security-automation
Insider
Static Application Security Testing (SAST) engine focused on covering the OWASP Top 10, to make source code analysis to find vulnerabilities right in the source code, focused on a agile and easy to implement software inside your DevOps pipeline. Support the following technologies: Java (Maven and Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C#, and Javascript (Node.js).
Stars: ✭ 216 (+80%)
Mutual labels:  security-tools, security-scanner, security-automation
Patrowlmanager
PatrOwl - Open Source, Smart and Scalable Security Operations Orchestration Platform
Stars: ✭ 363 (+202.5%)
Mutual labels:  security-tools, security-scanner, security-automation
Shodansploit
🔎 shodansploit > v1.3.0
Stars: ✭ 342 (+185%)
Mutual labels:  security-tools, security-scanner, security-automation
Nosqlmap
Automated NoSQL database enumeration and web application exploitation tool.
Stars: ✭ 1,928 (+1506.67%)
Mutual labels:  mongodb, nosql, security-tools
Patrowldocs
PatrOwl - Open Source, Free and Scalable Security Operations Orchestration Platform
Stars: ✭ 105 (-12.5%)
Mutual labels:  security-tools, security-scanner, security-automation
Taipan
Web application vulnerability scanner
Stars: ✭ 359 (+199.17%)
Mutual labels:  security-tools, security-scanner, security-automation
Super
Secure, Unified, Powerful and Extensible Rust Android Analyzer
Stars: ✭ 340 (+183.33%)
Mutual labels:  security-tools, security-scanner, security-automation
Burpa
Burp-Automator: A Burp Suite Automation Tool with Slack Integration. It can be used with Jenkins and Selenium to automate Dynamic Application Security Testing (DAST).
Stars: ✭ 427 (+255.83%)
Mutual labels:  security-tools, security-scanner, security-automation
Yasuo
A ruby script that scans for vulnerable & exploitable 3rd-party web applications on a network
Stars: ✭ 517 (+330.83%)
Mutual labels:  security-tools, security-scanner, security-automation
Nodbi
Document DBI connector for R
Stars: ✭ 56 (-53.33%)
Mutual labels:  mongodb, nosql
Linux Secureboot Kit
Tool for complete hardening of Linux boot chain with UEFI Secure Boot
Stars: ✭ 54 (-55%)
Mutual labels:  security-tools, security-automation
Rest Hapi
🚀 A RESTful API generator for Node.js
Stars: ✭ 1,102 (+818.33%)
Mutual labels:  mongodb, nosql
Pentest Chainsaw
Scrapes Router Passwords From http://www.routerpasswords.com ,more then +300 product
Stars: ✭ 36 (-70%)
Mutual labels:  security-tools, security-scanner
Lynis
Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.
Stars: ✭ 9,137 (+7514.17%)
Mutual labels:  security-tools, security-scanner
Intrigue Ident
Application and Service Fingerprinting
Stars: ✭ 70 (-41.67%)
Mutual labels:  security-tools, security-scanner
Purify
All-in-one tool for managing vulnerability reports from AppSec pipelines
Stars: ✭ 72 (-40%)
Mutual labels:  security-tools, security-automation
Ursadb
Trigram database written in C++, suited for malware indexing
Stars: ✭ 72 (-40%)
Mutual labels:  security-tools, security-automation

NoSQL Injector Tweet

Header Img A fast NoSQL scanner and injector. For finding sites vulnerable to NoSQL injection, Mongo in particular.

About Nosqli

I wanted a better nosql injection tool that was simple to use, fully command line based, and configurable. To that end, I began work on nosqli - a simple nosql injection tool written in Go.

It aims to be fast, accurate, and highly usable, with an easy to understand command line interface.

Features

Nosqli currently supports nosql injection detection for Mongodb. It runs the following tests:

  • Error based - inject a variety of characters and payloads, searching responses for known Mongo errors
  • Boolean Blind injection - inject parameters with true/false payloads and attempt to determine if an injection exists
  • Timing injection - attempt to inject timing delays in the server, to measure the response.

Installation

Download the latest binary version for your OS, and install it in your path, or run from a local folder.

Roadmap

I plan to add data extraction features. If you would like to see other features or configuration options, please open a pull request or issue!

Using nosqli

It should be self-documented by simply running the command and reading the help files.

$ 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='

You can test the tool using my vulnerable node js app, or other nosql injection labs.

Building from source

If you prefer to build from source, or there isn't a compiled binary for your platform, you can do so by cloning the repository, installing dependencies, and building the project manually. This will require a recent Go version, and the appropriate GOPATH environment variable.

$ git clone https://github.com/Charlie-belmer/nosqli
$ cd nosqli
$ go get ./..
$ go install
$ nosqli -h

Running Tests

There is a decent test suite included. Unit tests along with simple injection coverage can be run by using go test from the root directory:

go test ./...

Integration tests are also available which run injections against known vulnerable apps running locally. To use integration tests, install and run the vulnerable nodejs Mongo injection app and my vulnerable PHP lab fork from digininja. Then pass in the integrations flag:

go test ./... -args -integrations=true

If either environment is not found, integration tests will be disabled by one of the test cases, to speed the test run.

Contributing

Contributions are welcome! Please submit a pull request or open an issue for discussion.

Contributors License

Unless you specify otherwise, it is understood that you are offering the nosqli project the unlimited, non-exclusive right to reuse, modify, and relicense the code you contribute. This project will always be available Open Source, but this is important because the inability to relicense code has caused devastating problems for other Free Software projects (such as KDE and NASM). If you wish to specify special license conditions of your contributions, just say so when you send them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].