<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nosql on Fabrice's Blog</title><link>https://blog.redteamshell.com/tags/nosql/</link><description>Recent content in Nosql on Fabrice's Blog</description><generator>Hugo</generator><language>en</language><copyright>&lt;a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener">CC BY-NC 4.0&lt;/a></copyright><lastBuildDate>Fri, 06 Nov 2026 02:30:00 +0100</lastBuildDate><atom:link href="https://blog.redteamshell.com/tags/nosql/index.xml" rel="self" type="application/rss+xml"/><item><title>CWEE Path Notes — Module 2: Introduction to NoSQL Injection</title><link>https://blog.redteamshell.com/posts/2026/11/cwee-path-notes-module-2-introduction-to-nosql-injection/</link><pubDate>Fri, 06 Nov 2026 02:30:00 +0100</pubDate><guid>https://blog.redteamshell.com/posts/2026/11/cwee-path-notes-module-2-introduction-to-nosql-injection/</guid><description>&lt;p>&lt;img src="https://blog.redteamshell.com/images/cwee-m02-hero.jpg" alt="CWEE Module 02 Hero">&lt;/p>
&lt;h2 id="where-nosql-injection-fits--and-the-one-idea-behind-all-of-it">Where NoSQL injection fits — and the one idea behind all of it&lt;/h2>
&lt;p>&lt;img src="https://blog.redteamshell.com/images/cwee-m02-01-one-idea.jpg" alt="One idea, many channels">&lt;/p>
&lt;p>This is the second module in the Senior Web Penetration Tester path, the track that leads into CWEE. Module one was classic injection; this one is entirely about MongoDB and NoSQL injection, which looks nothing like SQLi on the surface and trips people up for exactly that reason.&lt;/p>
&lt;p>There is no NoSQL &amp;ldquo;standard&amp;rdquo; the way there is a SQL standard, so there is no single NoSQL injection. What there is, in MongoDB specifically, is one underlying idea that every technique in the module turns out to be a variation on: &lt;strong>the server builds a query from user input, and that input is trusted to be the type the developer assumed it was.&lt;/strong> Break that assumption — hand the query an object, or a fragment of JavaScript, where it expected a plain string — and you are controlling query logic instead of supplying a value.&lt;/p></description></item></channel></rss>