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
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
93
MobX: State Management made easy
paulohp
0
93
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
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
280
事業会社でのセキュリティ長期インターンについて
masachikaura
0
260
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
380
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
3
990
Road to RubyKaigi: Play Hard(ware)
makicamel
1
410
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
3
350
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
180
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
170
GitHubCopilotCLIをはじめよう.pdf
htkym
0
240
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2k
NakouPAY説明用
annouim0
0
260
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
49k
Between Models and Reality
mayunak
3
270
Six Lessons from altMBA
skipperchong
29
4.2k
Google's AI Overviews - The New Search
badams
0
980
Joys of Absence: A Defence of Solitary Play
codingconduct
1
350
Making the Leap to Tech Lead
cromwellryan
135
9.8k
The Invisible Side of Design
smashingmag
303
52k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
340
Producing Creativity
orderedlist
PRO
348
40k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
First, design no harm
axbom
PRO
2
1.2k
Become a Pro
speakerdeck
PRO
31
5.9k
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