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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Paulo Pires
March 22, 2014
Programming
300
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
66
Introdução ao GraphQL
paulohp
0
64
GraphQL 101
paulohp
0
120
Side Effects: Uma Saga até o React
paulohp
0
100
MobX: State Management made easy
paulohp
0
100
Docker: The Rise of Containers
paulohp
0
130
We Work Remotely
paulohp
2
120
Angular2
paulohp
0
240
Node.js Codelab
paulohp
1
190
Other Decks in Programming
See All in Programming
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
380
5分で問診!Composer セキュリティ健康診断
codmoninc
0
910
FDEが実現するAI駆動経営の現在地
gonta
2
270
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
450
Built Our Own Background Agent at LayerX
layerx
PRO
9
5.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.6k
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
Statistics for Hackers
jakevdp
799
230k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
What's in a price? How to price your products and services
michaelherold
247
13k
A Soul's Torment
seathinner
6
3.4k
Done Done
chrislema
186
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Git: the NoSQL Database
bkeepers
PRO
432
67k
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