Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Como Fazer Apps Node.Js Seguras
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Paulo Pires
March 22, 2014
Programming
300
4
Share
Como Fazer Apps Node.Js Seguras
Paulo Pires
March 22, 2014
More Decks by Paulo Pires
See All by Paulo Pires
Introdução ao WebAssembly
paulohp
0
59
Introdução ao GraphQL
paulohp
0
59
GraphQL 101
paulohp
0
110
Side Effects: Uma Saga até o React
paulohp
0
94
MobX: State Management made easy
paulohp
0
96
Docker: The Rise of Containers
paulohp
0
120
We Work Remotely
paulohp
2
110
Angular2
paulohp
0
240
Node.js Codelab
paulohp
1
180
Other Decks in Programming
See All in Programming
Cloudflare で始める Data Platform
ta93abe
0
170
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
390
20260514_its_the_context_window_stupid.pdf
heita
0
1k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
AIを導入する前にやるべきこと
negima
2
360
AI Agent と正しく分析するための環境作り
yoshyum
2
510
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
継続的な負荷検証を目指して
pyama86
3
1.2k
🦞OpenClaw works with AWS
licux
1
370
Agentic Elixir
whatyouhide
0
450
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
23
13k
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
1
110
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
7
35k
A Soul's Torment
seathinner
6
2.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
370
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
800
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Typedesign – Prime Four
hannesfritz
42
3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
180
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
Como Fazer Apps Node.Js SEGURAS
@paulo_hp
None
Eu não sou um especialista em segurança web!
Como você inicia uma aplicação?
Muita Coisa Pra Pensar
Regras de Negócio Modelagem Frameworks? Node.JS?
Você trabalha igual louco e coloca o app em produção
+ usuários + visibilidade + exposição
Você fica vulnerável
SE GU RAN ÇA?
Segurança quase nunca entra em pauta!
Maioria dos ataques acontecem na camada de aplicação
Como prevenir esses ataques em nossos apps Node.JS?
Defesa
XSS
localhost:8000/?name=<script>alert(1)</script>
Encode Untrusted Data
SSJSi
eval() is evil
{"symbol" : "ASDF"} A chamada para eval avalia assim a
string: ({"symbol" : "ASDF"})
Mas se ao invés de um simples JSON, o atacante
enviar um código JS malicioso?
res.end('success')
O servidor executa esse comando, retornando o texto "success" como
resposta HTTP.
Com essa resposta, o atacante sabe que seu server é
vulnerável.
E assim ele pode enviar códigos que realmente causam estragos.
DoS *deprecated
Um ataque efetivo DoS pode ser executado simplesmente enviando um
comando
while(1)
Um descuido como esse pode dar acesso aos arquivos, processos
e até ao seu banco NoSQL
Algumas pequenas coisas podem ser feitas para evitar, como validar
inputs com RegEx e evitando o uso de eval()
e se você usa versão antiga, ATUALIZE!
CSRF
Ativando o uso de CSRF no Express.JS
app.js form.html
Garanta o uso correto dos metodos HTTP
Nomes de Cookies Genéricos
None
X-Powerd-By
Esse valor não interessa muito pra nós, e pode ser
removido facilmente
None
Avalie os módulos externos do NPM
nodesecurity.io
Eduque os desenvolvedores com OWASP Top 10 owasp.org
Inclua testes de segurança no ciclo de desenvolvimento
vlw :D