~/talk

Node.js application (in)security

Talkat AppSec California 2015 · on Monday, 2015-01-26· [nodejs, security]
links:none on file
slides:none on file

Claims concrete failures and fixes: server-side eval → remote JS execution is present in real GitHub examples and allows arbitrary code; use child_process spawn/execFile instead of exec to avoid command injection; file-server patterns expose directory traversal and must validate paths; npm modules and Express middleware are practical mitigations; crypto.randomBytes versus pseudoRandomBytes confusion leads to weak CSRF tokens unless entropy is pre-seeded; console.log can inject terminal escape attacks; uninitialized memory in Buffers leaks heap contents so allocate/zero memory before use.

AI-written summary · about

  1. 0:00Intro
  2. 1:00Agenda
  3. 1:41Not chance
  4. 2:11Target audience
  5. 3:07What is NoDot
  6. 4:21Why NoDot
  7. 7:13Frameworks
  8. 8:00Categories
  9. 8:15Crosssite scripting
  10. 9:40escaping code
  11. 10:30escape modules
  12. 11:28secret section
  13. 12:23user input
  14. 13:05query language
  15. 13:50use prepared statements
  16. 15:14portrait protection
  17. 17:48false opening
  18. 19:15headers
  19. 19:51classic
  20. 20:06eval
  21. 22:37exit method
  22. 24:14GitHub example
  23. 24:43Tips
  24. 26:02Record diversity
  25. 26:48Not my test
  26. 28:26Random numbers
  27. 29:09Random bytes
  28. 29:23Pseudorandom
  29. 29:53Rocket
  30. 30:10Stupid Dancer
  31. 30:23Im tutoring area
  32. 30:41Openness
  33. 31:32The problem
  34. 35:49Honey success
  35. 37:31Buffer class
  36. 39:31Buffer
  37. 40:38ReadWrite
  38. 42:36Buffer Overflow
  39. 42:58Watch out allocations
  40. 43:43Summary
  41. 44:33Conclusion
~/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.