$30 off During Our Annual Pro Sale. View Details »
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
4
290
Como Fazer Apps Node.Js Seguras
Paulo Pires
March 22, 2014
Tweet
Share
More Decks by Paulo Pires
See All by Paulo Pires
Introdução ao WebAssembly
paulohp
0
49
Introdução ao GraphQL
paulohp
0
51
GraphQL 101
paulohp
0
95
Side Effects: Uma Saga até o React
paulohp
0
88
MobX: State Management made easy
paulohp
0
87
Docker: The Rise of Containers
paulohp
0
100
We Work Remotely
paulohp
2
100
Angular2
paulohp
0
230
Node.js Codelab
paulohp
1
180
Other Decks in Programming
See All in Programming
Python札幌 LT資料
t3tra
7
1.1k
SwiftUIで本格音ゲー実装してみた
hypebeans
0
500
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
gunshi
kazupon
1
120
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
300
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
190
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
640
ゲームの物理 剛体編
fadis
0
370
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.8k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
45
Done Done
chrislema
186
16k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
69
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
GraphQLとの向き合い方2022年版
quramy
50
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
150
How to Ace a Technical Interview
jacobian
281
24k
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