LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

nosql-injection

NoSQL injection playbook. Use when MongoDB-style operators, JSON query objects, flexible search filters, or backend query DSLs may allow data or logic abuse.

1,320stars179forksUpdated 7/9/2026
Security#security#penetration-testing#web-security#nosql-injection#mongodb#exploitation

Security Assessment

Low Risk(70/100)

Detected risks:

Data Exfiltration([SKILL.md] requests.post)
Secret Exposure([SKILL.md] password =)
Security Score70/100

About nosql-injection

A technical playbook for identifying and exploiting NoSQL injection vulnerabilities, aimed at penetration testers and security reviewers who need to go beyond classic SQL injection patterns. It explains the core distinction: where SQL injection breaks out of string literals, NoSQL injection injects query operators that alter query logic. The material centers on MongoDB, covering operator injection through JSON request bodies and bracket-notation form parameters (as parsed by PHP, Ruby, Python, and Node.js frameworks) and authentication bypass using operators such as $ne, $gt, $regex, and $exists. It documents blind data extraction that uses $regex as a character-by-character boolean oracle, much like binary search in SQLi, and includes a Python automation template plus URL-encoded GET variants. Server-side JavaScript execution via $where is described, including timing-based blind extraction with sleep(), along with its limits (no OS command execution). Additional sections address aggregation pipeline injection into $match and $group stages, HTTP parameter pollution and array coercion, duplicate-key WAF bypass, and attacks against other data stores — CouchDB's admin HTTP API and Redis command injection or weak-password authentication. Practical detection payloads, a testing checklist (including checks for exposed CouchDB port 5984 and Redis port 6379), and a comparison table contrasting SQLi and NoSQLi across language, injection vector, extraction method, and fingerprinting round out the guidance. It is useful when assessing endpoints that accept JSON query objects, flexible search filters, MongoDB-style operators, or backend query DSLs, and when a form-based endpoint might be switched to a JSON content type to reach an operator-parsing code path. The content is oriented toward recognizing patterns commonly missed by testers who only know SQL injection.

FAQ

How is NoSQL injection different from SQL injection?

SQL injection breaks out of string literals, whereas NoSQL injection injects query operators (like $ne or $gt) that change the query's logic; extraction uses a $regex character oracle rather than UNION or error-based methods.

How can MongoDB authentication be bypassed?

By injecting operators in place of a password value, for example {"password": {"$ne": ""}} or {"$gt": ""}, which evaluate as always-true and match a valid user.

What is $where injection and what are its limits?

$where evaluates JavaScript in the MongoDB context, allowing logic abuse and timing-based blind extraction via sleep(), but it only accesses the current document's fields and does not provide OS command execution.

How is data extracted blindly?

The $regex operator is used as a boolean oracle, anchoring patterns like ^a and ^ab and narrowing each character position based on the difference between successful and failed responses; a Python script and binary-search approach automate it.

Does it cover data stores other than MongoDB?

Yes — it includes CouchDB's unauthenticated admin HTTP API (port 5984) for listing databases and creating admin accounts, and Redis (port 6379) command injection and weak-password authentication.

Install nosql-injection

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

yaklang/hack-skills

Related Skills

short-form-video

14

multi-asset-morning-briefing

7,907

content-strategy

2,901

doherty-threshold

2,901