~/talk

NoSQL injections in Node.js: The case of MongoDB

Talkat DotJS 2016 · 2016-12-02..12-05· [nodejs, security]
slides:none on file

Demonstrates that Node.js Express apps can accept MongoDB $ne payload to enumerate every document, and that legacy $where remote exec allowed calling db.dropDatabase on MongoDB 2.3 and older so an injection could destroy data. Reproduces the exploit against a simple search endpoint, shows the number of documents returned unexpectedly grows to the entire collection, and prescribes input validation using joy and celbrate middleware or a bespoke validator to block nonstring inputs.

AI-written summary · about

  1. 0:00Introduction
  2. 0:32MongoDB endpoint
  3. 0:51Expected behavior
  4. 1:24MongoDB literal
  5. 2:09Drop MongoDB
  6. 3:16Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.