Talk apresentado no segundo Meetup de Node.JS de São Paulo.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Como Fazer Apps Node.Js
SEGURAS
@paulo_hp
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