SlideShare une entreprise Scribd logo
1  sur  81
Télécharger pour lire hors ligne
Rafael Soares Ferreira
Sócio Diretor Técnico
rafael@clavis.com.br
Principais Vulnerabilidades
em Aplicações Web
Apresentação
•  Grupo Clavis
•  Sócio Diretor Técnico
•  Testes de invasão em redes, sistemas e
aplicações
Contatos
rafaelsoaresferreira@gmail.com
rafaelsoaresferreira
@rafaelsferreira
www.facebook.com/rafaelsoaresferreira
•  Compras
•  Redes Sociais
•  Internet Banking
•  Webmail
•  Outras...
Utilização
•  Protocolo leve e simples
•  E “stateless”!
•  Anytime, Anywhere
•  Independe de plataforma
•  Atualizações centralizadas
Benefícios
•  O protocolo HTTP
HTTP 1.0 - RFC-1945
HTTP 1.1 – RFC-2616
RFC 1945:
...is an application-level protocol with the lightness and speed
necessary for distributed, collaborative, hypermedia
information systems. It is a generic, stateless, object-
oriented protocol which can be used for many tasks, such
as name servers and distributed object management
systems, through extension of its request methods
(commands)...
Protocolos e Tecnologias
•  “Lightness”
•  Protocolo em texto puro
•  Simples de implementar um cliente
•  “Stateless”
•  Servidor responde a requisição e
•  Encerra a conexão
Protocolos e Tecnologias
•  Não confiar em dados externos
•  Tudo pode ser forjado/modificado
•  Validar todos os dados
•  Prever e Tratar erros
•  Testar segurança, revisar
Segurança Básica
Mudança de Paradigma
•  What is a secure site?
“a site that uses the HTTPS protocol...”
•  Segurança da comunicação é apenas 1
dos problemas
Segurança Básica
Erros Comuns
•  Falta de Canonicalização
•  Verificações Client-Side
•  Segurança por Obscuridade
Segurança Básica
Canonicalização
•  Decisões baseadas em nomes
•  Representação de forma única
•  Muitas representações para caracteres
•  ASCII, hexadecimal, UTF-8, unicode ...
Segurança Básica
Canonicalização – Exemplo
•  SecureIIS do eEye
http://www.exemplo.com/ver.asp?arquivo=../../../winnt/repair/sam
•  Evasão
http://www.exemplo.com/ver.asp?arquivo=%2e%2e/%2e%2e/%2e
%2e/winnt/repair/sam
Segurança Básica
Verificações Client-Side
•  Facilmente contornadas
•  Desabilitar javascript
•  Usar um proxy
•  Plugins de browser
Segurança Básica
Verificações Client-Side
•  Tamper data
Segurança Básica
Segurança por Obscuridade
•  Esconder o problema não resolve
•  Pode ser usada como camada adicional
•  Nunca como SOLUÇÃO de segurança
Segurança Básica
Segurança por Obscuridade
•  Trocando a string do Apache
ServerSignature Off
SecServerSignature “Meu Servidor“
Segurança Básica
Principais Ameaças
Injeções
Descrição
•  Envio de dados não tratados para algum
serviço interno.
•  Pode ser feita via SQL, LDAP, Xpath, comandos
de sistema operacional, argumentos de
programas, etc.
•  Descoberta por varreduras e/ou fuzzers
SQL Injection
Exemplo
SQLi:
•  Aplicação: OcoMon
•  Versão: 2.0-RC6
•  Bypass de autenticação via SQLi
•  Validação de entradas feita client-side
Exemplo
•  Página inicial filtrando caracteres
especiais através de javascript.
Exemplo
•  É possível editar a função de validação, ou
impedi-la de ser executada no navegador.
Exemplo
•  Sem a função de validação é possível
submeter a string admin ‘ or ‘ -- que possibilita
acesso ao sistema.
Impactos
•  Dependendo do tipo de injeção os danos
causados podem ser:
ü  Perda ou corrupção de dados
ü  Negação de Serviço
ü  Falhas de autenticação
ü  Execução arbitrária de código e até
comprometimento total do sistema.
Como se Prevenir
•  Não utilizar dados não confiáveis em
comandos e/ou queries.
•  Rotinas de validação ou “escape” de
caracteres.
•  É aconselhável o uso de validação positiva
nas entradas.
•  Utilizar canonicalização de dados.
Quebra de Autenticação /
Sessão
Principais Ameaças
•  Restrição de conteúdos / recursos
•  Autenticação HTTP:
Basic -> credenciais concatenadas
separadas por “:” e codificadas em base64
Digest -> hash MD5
Definição
•  Identificadores de Sessão (“SESSION ID")
expostos
•  Lembretes de Senha ou “logout” vulneráveis
Definição
Exemplo
Cookie:
[...]
Authorization: Basic dGVzdGU6ZHVtbXlwYXNzd29yZA==
[...]
Decodificando:
$ echo "dGVzdGU6ZHVtbXlwYXNzd29yZA==" | base64 –d
teste:dummypassword
Exemplo
•  Tunelamento por SSL
•  Políticas de segurança
•  CAPTCHA
•  Proteger Cookie
Como se Prevenir
Principais Ameaças
XSS – Cross Site
Scripting
Descrição
•  Ocorre quando uma aplicação inclui
dados não tratados em um objeto enviado ao
navegador.
•  Existem 3 principais tipos:
ü  Stored
ü  Reflected
ü  DOM based XSS
Impactos
•  Roubo de informações de sessão
•  Pichação de Sites
•  Redirecionamento de usuários e etc.
•  Exposição de informações dos usuários
Descrição
Stored:
•  Código injetado é armazenado
permanentemente na aplicação vulnerável
(comentários, posts, logs, etc)
•  A vítima recebe o código malicioso junto com
alguma requisição feita.
Stored XSS
Exemplo
Stored:
•  Aplicação: dotProject
•  Versão: 2.1.5
•  Múltiplas Vulnerabilidades de XSS e SQLi
Exemplo
•  Na submissão de arquivos é possível
inserir um código malicioso no campo
descrição.
Exemplo
<script>alert('xss')</script>
Exemplo
•  O código então será submetido a todos que
visualizarem a descrição de tal arquivo.
Descrição
Reflected:
•  O código é “refletido” para o usuário através de
respostas que contenham dados não tratados
recebidos pela aplicação (resultado de buscas,
mensagens de erro, etc).
•  Geralmente disseminado através de links
maliciosos.
Reflected XSS
Exemplo
Reflected:
•  Acunetix test site:
http://testasp.vulnweb.com/search.asp
•  Aplicação com exemplos de vulnerabilidades
Exemplo
Reflected:
•  O código submetido na busca é retornado ao
usuário na página de resultado sem nenhum
tratamento.
Exemplo
Reflected:
•  No caso de submissão de um código html por
exemplo, o mesmo será exibido para o usuário
como se pertencesse a página em questão.
Exemplo
Reflected:
•  A submissão pode ser feita pels busca:
<br><br>Entre aqui com suas credenciais:<form
action="destination.asp"><table><tr><td>Nome:</td><td><input type=text
length=20 name=nome></td></tr><tr><td>Senha:</td><td><input type=text
length=20 name=senha></td></tr></table><input type=submit
value=Acessar></form>!
•  Ou pela URL:
http://testasp.vulnweb.com/search.asp?tfSearch=%3Cbr%3E%3Cbr%3EEntre
+aqui+com+suas+credenciais%3A%3Cform+action%3D%22destination.asp%22%3E
%3Ctable%3E%3Ctr%3E%3Ctd%3ENome%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type
%3Dtext+length%3D20+name%3Dnome%3E%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd
%3ESenha%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+length%3D20+name
%3Dsenha%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%3Cinput+type%3Dsubmit
+value%3DAcessar%3E%3C%2Fform%3E+!
Descrição
DOM based XSS:
•  Ocasionado por uma modificação no ambiente
DOM do navegador da vítima.
•  O código executado é legítimo, porém devido a
essa alteração no ambiente sua execução é
feita de maneira anômala.
Exemplo
DOM based XSS:
•  O seguinte código é executado no navegador
(client-side)
Exemplo
DOM based XSS:
•  A variável “name” pode ser manipulada
conforme o exemplo a seguir:
Como se Prevenir
•  “Escapar” caracteres vindo de fontes não
confiáveis e que serão utilizados no contexto do
navegador (body, atributos, JavaScript, CSS,
URL).
•  A validação positiva é sempre interessante mas
é preciso atentar para peculiaridades da
aplicação em questão pois caracteres especiais
e codificações diversas podem fazer parte da
rotina da aplicação.
Referência Direta a
Objetos
Principais Ameaças
•  Apenas proteção na camada de apresentação
não funciona
•  Atacante simplesmente altera parâmetros e
consegue acessar o conteúdo
Definição
Exemplo
Como prevenir
•  Trocar referências diretas por um valor de
mapeamento aleatório temporário
•  Verificar se o parâmetro está dentro do padrão
•  Verificar se o usuário tem permissão de acesso
•  Verificar se o usuário pode executar a ação que
deseja em um determinado objeto
Falhas de
Configuração
Principais Ameaças
•  Aplicações rodam em cima de serviços que
rodam em cima de SOs
•  Todos podem ser vetores de ataque
•  Exploits (e patchs!) se aplicam à qualquer tipo
de software
Definição
•  “Hardening” de servidores
•  Patchs e atualizações
•  Homologação de mudanças
•  Vulnerability Management
Como se Prevenir
Exposição de dados
sensíveis
Principais Ameaças
Descrição
•  Falha mais comum e grave: simplesmente
não criptografar dados sensíveis
•  Falhas quando a criptografia é empregada:
-  Geração e armazenamento inseguros de chaves
-  Não implantar políticas de rotação de chaves
-  Utilizar algoritmos de criptografia fracos
-  Utilizar métodos de criptografia em uma só via (hash)
fracos ou sem salto para proteger senhas.
Descrição
•  Falha em proteger o tráfego de rede onde
passam os dados da aplicação
•  Utilização de criptografia somente na
autenticação (expondo dados e IDs de seção)
•  Utilização de certificados expirados ou mal
configurados
•  Falhas básicas de fácil detecção, bastando
observar o tráfego de rede do site.
•  Frequentemente comprometem todos os
dados protegidos por criptografia
•  Tipicamente, estes dados incluem, mas não
estão limitados à:
-  Credenciais de acesso
-  Dados pessoais
-  Registros de saúde
-  Cartões de crédito, etc.
Impacto
•  Algoritmos de criptografia e chaves utilizados
devem ser apropriadamente fortes.
•  Senhas devem armazenadas em hash com um
algoritmo de criptografia em uma só via, forte e
com um salto apropriado.
•  Proteger o transporte de dados adequadamente
pode afetar o projeto do site. Em geral, é mais
simples forçar o uso de criptografia em todo o
site.
Como se Prevenir
Falha no controle de
acesso
Principais Ameaças
Falha no controle de acesso
•  Usuário autorizado modifica um parâmetro
ou URL e acessa uma função privilegiada
•  Usuário anônimo acessa funções desprotegidas
•  Impacto
•  Acesso a contas e dados de outros
usuários
•  Realizar ações de privilégio maior do que
devido
Falha no controle de acesso a
nível de função
Como prevenir
•  Restringir acesso a usuários autenticados
•  Mostrar somente o que for designado ao usuário
ou ao grupo
•  Negar qualquer requisição a páginas não
autorizadas
•  Não utilizar abordagens de análise automatizada
•  Deve-se negar todo o conteúdo (DENY ALL)
Cross Site Request
Forgery
Principais Ameaças
•  Browsers enviam alguns tipos de credenciais
automaticamente
-  Cookies
-  Cabeçalhos
-  Endereço IP
-  Certificados SSL
Definição
•  A vítima acessa um site malicioso enquanto está
logada no sistema vulnerável
•  O atacante força a vítima a fazer tal requisição
Impacto
Cross Site Request Forgery(CSRF)
•  Autenticações forçadas em requisições
sensíveis
•  Controle exposição de dados utilizados como
credenciais
•  Adicionar um token secreto, não automático,
para todas requisições importantes
Como se Prevenir
Utilização de componentes
vulneráveis
Principais Ameaças
Utilização de componentes
vulneráveis
•  Componentes bibliotecas e frameworks
•  Demora na divulgação da vulnerabilidade
•  Muitos produtores não lançam uma correção
(hot fix)
•  Monitorar versões de todos os componentes,
incluindo todas dependências
•  Manter componentes sempre atualizados
•  Organizar uma política de segurança
•  Buscar uma alternativa enquanto uma correção
não aparece
Como se Prevenir
Redirecionamentos e
repasses não validados
Principais Ameaças
Descrição
•  Falha em validar o destino de
redirecionamentos ou repasses utilizados
•  Problemas mais comuns:
-  Ausência de validação do destino de um
redirecionamento ou repasse
-  Similaridade entre redirecionamento para destinos
internos (da própria aplicação) e externos
l  Redirecionamentos podem induzir usuários
a instalar malware ou revelar informações
sensíveis.
l  Repasses inseguros podem permitir contornar
controles de acesso.
Impacto
l  Evitar estas falhas é extremamente
importante, pois elas são os alvos favoritos de
phishers tentando ganhar a confiança de um
usuário.
l  Recomendações básicas para utilizar
redirecionamentos e repasses:
-  Não envolver parâmetros de usuário para calcular o
destino
-  Se não puder ser evitar, validar o parâmetro e verificar
autorização do usuário
Como se Prevenir
Dúvidas?
Perguntas?
Críticas?
Sugestões?
Siga a Clavis
Rafael Soares Ferreira
Sócio Diretor Técnico
Muito Obrigado!
rafael@clavis.com.br
@rafaelsferreira

Contenu connexe

Tendances

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasClavis Segurança da Informação
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapClavis Segurança da Informação
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações WebCassio Ramos
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosAlex Camargo
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPFabiano Pereira
 
Analisando eventos de forma inteligente para detecção de intrusos usando ELK
Analisando eventos de forma inteligente para detecção de intrusos usando ELKAnalisando eventos de forma inteligente para detecção de intrusos usando ELK
Analisando eventos de forma inteligente para detecção de intrusos usando ELKSegInfo
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis Segurança da Informação
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoClavis Segurança da Informação
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBAlcyon Ferreira de Souza Junior, MSc
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 

Tendances (20)

Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e SistemasExperiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
Experiência e Cases com Auditorias Teste de Invasão em Redes e Sistemas
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Webinar # 21 – Análise Forense de Redes
 Webinar # 21 – Análise Forense de Redes Webinar # 21 – Análise Forense de Redes
Webinar # 21 – Análise Forense de Redes
 
Segurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultadosSegurança em aplicações web: pequenas ideias, grandes resultados
Segurança em aplicações web: pequenas ideias, grandes resultados
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Segurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASPSegurança em Aplicações Web conforme OWASP
Segurança em Aplicações Web conforme OWASP
 
Analisando eventos de forma inteligente para detecção de intrusos usando ELK
Analisando eventos de forma inteligente para detecção de intrusos usando ELKAnalisando eventos de forma inteligente para detecção de intrusos usando ELK
Analisando eventos de forma inteligente para detecção de intrusos usando ELK
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
Clavis e Cyberark promovem almoço para sobre soluções para a área de Seguranç...
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da InformaçãoTestes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
Testes de Invasão ajudam a alcançar a conformidade - Segurança da Informação
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEBDica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 03 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 04 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
 

En vedette

En vedette (8)

XML, Webservice e RSS
XML, Webservice e RSSXML, Webservice e RSS
XML, Webservice e RSS
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)
 
Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSS
 
Gerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProjectGerenciando seu projeto com dotProject
Gerenciando seu projeto com dotProject
 
Aula Introdução a Linguagem XML
Aula Introdução a Linguagem XMLAula Introdução a Linguagem XML
Aula Introdução a Linguagem XML
 
Prevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoPrevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU código
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 

Similaire à Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;

Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesClavis Segurança da Informação
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...Dirceu Resende
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazOWASP Brasília
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenPOANETMeetup
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...Magno Logan
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS Summit
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS SummitTop five security errors, and how to avoid them - DEM01-S - São Paulo AWS Summit
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS SummitAmazon Web Services
 
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Renato Groff
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureRubens Guimarães - MTAC MVP
 
OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookGiovane Liberato
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Alex Hübner
 
Segurança em aplicações web
Segurança em aplicações webSegurança em aplicações web
Segurança em aplicações webCOTIC-PROEG (UFPA)
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Seu Joomla está seguro?
Seu Joomla está seguro?Seu Joomla está seguro?
Seu Joomla está seguro?Júlio Coutinho
 

Similaire à Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico; (20)

Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
Java security
Java securityJava security
Java security
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Api todo list
Api todo listApi todo list
Api todo list
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top Ten
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Segurança em Angular SPA
Segurança em Angular SPASegurança em Angular SPA
Segurança em Angular SPA
 
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS Summit
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS SummitTop five security errors, and how to avoid them - DEM01-S - São Paulo AWS Summit
Top five security errors, and how to avoid them - DEM01-S - São Paulo AWS Summit
 
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
OWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbookOWASP Top 10 - A web security cookbook
OWASP Top 10 - A web security cookbook
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
Segurança em aplicações web
Segurança em aplicações webSegurança em aplicações web
Segurança em aplicações web
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Seu Joomla está seguro?
Seu Joomla está seguro?Seu Joomla está seguro?
Seu Joomla está seguro?
 

Plus de Clavis Segurança da Informação

Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo MontoroResposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo MontoroClavis Segurança da Informação
 
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - ApresentaçãoBig Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
A maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - ApresentaçãoA maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - ApresentaçãoAdoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - ApresentaçãoClavis Segurança da Informação
 
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Clavis Segurança da Informação
 
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força BrutaEntendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força BrutaClavis Segurança da Informação
 
Webinar # 17 – Análise de Malware em Forense Computacional
Webinar # 17 – Análise de Malware em Forense ComputacionalWebinar # 17 – Análise de Malware em Forense Computacional
Webinar # 17 – Análise de Malware em Forense ComputacionalClavis Segurança da Informação
 
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...Clavis Segurança da Informação
 
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Clavis Segurança da Informação
 
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...Clavis Segurança da Informação
 

Plus de Clavis Segurança da Informação (17)

Bsides SP 2022 - EPSS - Final.pptx
Bsides SP 2022 - EPSS - Final.pptxBsides SP 2022 - EPSS - Final.pptx
Bsides SP 2022 - EPSS - Final.pptx
 
Cloud Summit Canada com Rodrigo Montoro
Cloud Summit Canada com Rodrigo MontoroCloud Summit Canada com Rodrigo Montoro
Cloud Summit Canada com Rodrigo Montoro
 
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo MontoroResposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
Resposta a Incidentes | Mind The Sec 2022 com Rodrigo Montoro
 
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - ApresentaçãoBig Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
Big Data e Segurança da Informação - 10o Workshop SegInfo - Apresentação
 
A maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - ApresentaçãoA maldição do local admin - 10o Workshop SegInfo - Apresentação
A maldição do local admin - 10o Workshop SegInfo - Apresentação
 
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - ApresentaçãoAdoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
Adoção do PCI no Brasil - 10o Workshop SegInfo - Apresentação
 
Palestra GlobalSign
Palestra GlobalSignPalestra GlobalSign
Palestra GlobalSign
 
Palestra Clavis - Octopus
Palestra Clavis - OctopusPalestra Clavis - Octopus
Palestra Clavis - Octopus
 
Palestra Exceda - Clavis 2016
Palestra Exceda - Clavis 2016Palestra Exceda - Clavis 2016
Palestra Exceda - Clavis 2016
 
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
Webinar #27 - Curso Permanente ComPTIA Security+ Exame SY0 401
 
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força BrutaEntendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
Entendendo como as Mídias Socias Revolucionaram os Ataques de Força Bruta
 
Webinar #18 – A Nova Lei de Cibercrimes
Webinar #18 – A Nova Lei de CibercrimesWebinar #18 – A Nova Lei de Cibercrimes
Webinar #18 – A Nova Lei de Cibercrimes
 
Webinar # 17 – Análise de Malware em Forense Computacional
Webinar # 17 – Análise de Malware em Forense ComputacionalWebinar # 17 – Análise de Malware em Forense Computacional
Webinar # 17 – Análise de Malware em Forense Computacional
 
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...
Webinar # 16 – Ataques de Força Bruta – Método Dicionário, Híbridos e Rainbow...
 
Palestra Auditoria de Segurança em Redes sem Fio
Palestra Auditoria de Segurança em Redes sem FioPalestra Auditoria de Segurança em Redes sem Fio
Palestra Auditoria de Segurança em Redes sem Fio
 
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13 Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
 
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
 

Dernier

LIÇÕES - PG my life usar uma vez por semana
LIÇÕES - PG my life usar uma vez por semanaLIÇÕES - PG my life usar uma vez por semana
LIÇÕES - PG my life usar uma vez por semanaWillemarSousa1
 
slide da missa com leituras e oração eucarística
slide da missa com leituras e oração eucarísticaslide da missa com leituras e oração eucarística
slide da missa com leituras e oração eucarísticaFranklinOliveira30
 
Lição 3 - O céu - o Destino do Cristão.pptx
Lição 3 - O céu - o Destino do Cristão.pptxLição 3 - O céu - o Destino do Cristão.pptx
Lição 3 - O céu - o Destino do Cristão.pptxCelso Napoleon
 
Evangeliza - Diálogo com os Espíritos - Médiuns Esclarecedores
Evangeliza - Diálogo com os Espíritos - Médiuns EsclarecedoresEvangeliza - Diálogo com os Espíritos - Médiuns Esclarecedores
Evangeliza - Diálogo com os Espíritos - Médiuns EsclarecedoresAntonino Silva
 
LIÇÃO 02 - JOVENS - Escola Bíblica Dominical
LIÇÃO 02 - JOVENS - Escola Bíblica DominicalLIÇÃO 02 - JOVENS - Escola Bíblica Dominical
LIÇÃO 02 - JOVENS - Escola Bíblica DominicalAmaroJunior21
 
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024RaniereSilva14
 
O concílio de Jerusalém Cap 14 e 15.pptx
O concílio de Jerusalém  Cap 14 e 15.pptxO concílio de Jerusalém  Cap 14 e 15.pptx
O concílio de Jerusalém Cap 14 e 15.pptxPIB Penha
 

Dernier (8)

LIÇÕES - PG my life usar uma vez por semana
LIÇÕES - PG my life usar uma vez por semanaLIÇÕES - PG my life usar uma vez por semana
LIÇÕES - PG my life usar uma vez por semana
 
slide da missa com leituras e oração eucarística
slide da missa com leituras e oração eucarísticaslide da missa com leituras e oração eucarística
slide da missa com leituras e oração eucarística
 
Lição 3 - O céu - o Destino do Cristão.pptx
Lição 3 - O céu - o Destino do Cristão.pptxLição 3 - O céu - o Destino do Cristão.pptx
Lição 3 - O céu - o Destino do Cristão.pptx
 
Evangeliza - Diálogo com os Espíritos - Médiuns Esclarecedores
Evangeliza - Diálogo com os Espíritos - Médiuns EsclarecedoresEvangeliza - Diálogo com os Espíritos - Médiuns Esclarecedores
Evangeliza - Diálogo com os Espíritos - Médiuns Esclarecedores
 
LIÇÃO 02 - JOVENS - Escola Bíblica Dominical
LIÇÃO 02 - JOVENS - Escola Bíblica DominicalLIÇÃO 02 - JOVENS - Escola Bíblica Dominical
LIÇÃO 02 - JOVENS - Escola Bíblica Dominical
 
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024
AUXADO_1TRIM_2024.pdf ESCOLA SABATINA 2024
 
O Livro dos Espiritos - Allan Kardec.pdf
O Livro dos Espiritos - Allan Kardec.pdfO Livro dos Espiritos - Allan Kardec.pdf
O Livro dos Espiritos - Allan Kardec.pdf
 
O concílio de Jerusalém Cap 14 e 15.pptx
O concílio de Jerusalém  Cap 14 e 15.pptxO concílio de Jerusalém  Cap 14 e 15.pptx
O concílio de Jerusalém Cap 14 e 15.pptx
 

Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferreira – Sócio Diretor Técnico;

  • 1. Rafael Soares Ferreira Sócio Diretor Técnico rafael@clavis.com.br Principais Vulnerabilidades em Aplicações Web
  • 2. Apresentação •  Grupo Clavis •  Sócio Diretor Técnico •  Testes de invasão em redes, sistemas e aplicações
  • 4. •  Compras •  Redes Sociais •  Internet Banking •  Webmail •  Outras... Utilização
  • 5. •  Protocolo leve e simples •  E “stateless”! •  Anytime, Anywhere •  Independe de plataforma •  Atualizações centralizadas Benefícios
  • 6. •  O protocolo HTTP HTTP 1.0 - RFC-1945 HTTP 1.1 – RFC-2616 RFC 1945: ...is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object- oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods (commands)... Protocolos e Tecnologias
  • 7. •  “Lightness” •  Protocolo em texto puro •  Simples de implementar um cliente •  “Stateless” •  Servidor responde a requisição e •  Encerra a conexão Protocolos e Tecnologias
  • 8. •  Não confiar em dados externos •  Tudo pode ser forjado/modificado •  Validar todos os dados •  Prever e Tratar erros •  Testar segurança, revisar Segurança Básica
  • 9. Mudança de Paradigma •  What is a secure site? “a site that uses the HTTPS protocol...” •  Segurança da comunicação é apenas 1 dos problemas Segurança Básica
  • 10. Erros Comuns •  Falta de Canonicalização •  Verificações Client-Side •  Segurança por Obscuridade Segurança Básica
  • 11. Canonicalização •  Decisões baseadas em nomes •  Representação de forma única •  Muitas representações para caracteres •  ASCII, hexadecimal, UTF-8, unicode ... Segurança Básica
  • 12. Canonicalização – Exemplo •  SecureIIS do eEye http://www.exemplo.com/ver.asp?arquivo=../../../winnt/repair/sam •  Evasão http://www.exemplo.com/ver.asp?arquivo=%2e%2e/%2e%2e/%2e %2e/winnt/repair/sam Segurança Básica
  • 13. Verificações Client-Side •  Facilmente contornadas •  Desabilitar javascript •  Usar um proxy •  Plugins de browser Segurança Básica
  • 14. Verificações Client-Side •  Tamper data Segurança Básica
  • 15. Segurança por Obscuridade •  Esconder o problema não resolve •  Pode ser usada como camada adicional •  Nunca como SOLUÇÃO de segurança Segurança Básica
  • 16. Segurança por Obscuridade •  Trocando a string do Apache ServerSignature Off SecServerSignature “Meu Servidor“ Segurança Básica
  • 18. Descrição •  Envio de dados não tratados para algum serviço interno. •  Pode ser feita via SQL, LDAP, Xpath, comandos de sistema operacional, argumentos de programas, etc. •  Descoberta por varreduras e/ou fuzzers
  • 20. Exemplo SQLi: •  Aplicação: OcoMon •  Versão: 2.0-RC6 •  Bypass de autenticação via SQLi •  Validação de entradas feita client-side
  • 21. Exemplo •  Página inicial filtrando caracteres especiais através de javascript.
  • 22. Exemplo •  É possível editar a função de validação, ou impedi-la de ser executada no navegador.
  • 23. Exemplo •  Sem a função de validação é possível submeter a string admin ‘ or ‘ -- que possibilita acesso ao sistema.
  • 24. Impactos •  Dependendo do tipo de injeção os danos causados podem ser: ü  Perda ou corrupção de dados ü  Negação de Serviço ü  Falhas de autenticação ü  Execução arbitrária de código e até comprometimento total do sistema.
  • 25. Como se Prevenir •  Não utilizar dados não confiáveis em comandos e/ou queries. •  Rotinas de validação ou “escape” de caracteres. •  É aconselhável o uso de validação positiva nas entradas. •  Utilizar canonicalização de dados.
  • 26. Quebra de Autenticação / Sessão Principais Ameaças
  • 27. •  Restrição de conteúdos / recursos •  Autenticação HTTP: Basic -> credenciais concatenadas separadas por “:” e codificadas em base64 Digest -> hash MD5 Definição
  • 28. •  Identificadores de Sessão (“SESSION ID") expostos •  Lembretes de Senha ou “logout” vulneráveis Definição
  • 30. Cookie: [...] Authorization: Basic dGVzdGU6ZHVtbXlwYXNzd29yZA== [...] Decodificando: $ echo "dGVzdGU6ZHVtbXlwYXNzd29yZA==" | base64 –d teste:dummypassword Exemplo
  • 31. •  Tunelamento por SSL •  Políticas de segurança •  CAPTCHA •  Proteger Cookie Como se Prevenir
  • 32. Principais Ameaças XSS – Cross Site Scripting
  • 33. Descrição •  Ocorre quando uma aplicação inclui dados não tratados em um objeto enviado ao navegador. •  Existem 3 principais tipos: ü  Stored ü  Reflected ü  DOM based XSS
  • 34. Impactos •  Roubo de informações de sessão •  Pichação de Sites •  Redirecionamento de usuários e etc. •  Exposição de informações dos usuários
  • 35. Descrição Stored: •  Código injetado é armazenado permanentemente na aplicação vulnerável (comentários, posts, logs, etc) •  A vítima recebe o código malicioso junto com alguma requisição feita.
  • 37. Exemplo Stored: •  Aplicação: dotProject •  Versão: 2.1.5 •  Múltiplas Vulnerabilidades de XSS e SQLi
  • 38. Exemplo •  Na submissão de arquivos é possível inserir um código malicioso no campo descrição.
  • 40. Exemplo •  O código então será submetido a todos que visualizarem a descrição de tal arquivo.
  • 41. Descrição Reflected: •  O código é “refletido” para o usuário através de respostas que contenham dados não tratados recebidos pela aplicação (resultado de buscas, mensagens de erro, etc). •  Geralmente disseminado através de links maliciosos.
  • 43. Exemplo Reflected: •  Acunetix test site: http://testasp.vulnweb.com/search.asp •  Aplicação com exemplos de vulnerabilidades
  • 44. Exemplo Reflected: •  O código submetido na busca é retornado ao usuário na página de resultado sem nenhum tratamento.
  • 45. Exemplo Reflected: •  No caso de submissão de um código html por exemplo, o mesmo será exibido para o usuário como se pertencesse a página em questão.
  • 46. Exemplo Reflected: •  A submissão pode ser feita pels busca: <br><br>Entre aqui com suas credenciais:<form action="destination.asp"><table><tr><td>Nome:</td><td><input type=text length=20 name=nome></td></tr><tr><td>Senha:</td><td><input type=text length=20 name=senha></td></tr></table><input type=submit value=Acessar></form>! •  Ou pela URL: http://testasp.vulnweb.com/search.asp?tfSearch=%3Cbr%3E%3Cbr%3EEntre +aqui+com+suas+credenciais%3A%3Cform+action%3D%22destination.asp%22%3E %3Ctable%3E%3Ctr%3E%3Ctd%3ENome%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type %3Dtext+length%3D20+name%3Dnome%3E%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd %3ESenha%3A%3C%2Ftd%3E%3Ctd%3E%3Cinput+type%3Dtext+length%3D20+name %3Dsenha%3E%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E%3Cinput+type%3Dsubmit +value%3DAcessar%3E%3C%2Fform%3E+!
  • 47. Descrição DOM based XSS: •  Ocasionado por uma modificação no ambiente DOM do navegador da vítima. •  O código executado é legítimo, porém devido a essa alteração no ambiente sua execução é feita de maneira anômala.
  • 48. Exemplo DOM based XSS: •  O seguinte código é executado no navegador (client-side)
  • 49. Exemplo DOM based XSS: •  A variável “name” pode ser manipulada conforme o exemplo a seguir:
  • 50. Como se Prevenir •  “Escapar” caracteres vindo de fontes não confiáveis e que serão utilizados no contexto do navegador (body, atributos, JavaScript, CSS, URL). •  A validação positiva é sempre interessante mas é preciso atentar para peculiaridades da aplicação em questão pois caracteres especiais e codificações diversas podem fazer parte da rotina da aplicação.
  • 52. •  Apenas proteção na camada de apresentação não funciona •  Atacante simplesmente altera parâmetros e consegue acessar o conteúdo Definição
  • 54. Como prevenir •  Trocar referências diretas por um valor de mapeamento aleatório temporário •  Verificar se o parâmetro está dentro do padrão •  Verificar se o usuário tem permissão de acesso •  Verificar se o usuário pode executar a ação que deseja em um determinado objeto
  • 56. •  Aplicações rodam em cima de serviços que rodam em cima de SOs •  Todos podem ser vetores de ataque •  Exploits (e patchs!) se aplicam à qualquer tipo de software Definição
  • 57. •  “Hardening” de servidores •  Patchs e atualizações •  Homologação de mudanças •  Vulnerability Management Como se Prevenir
  • 59. Descrição •  Falha mais comum e grave: simplesmente não criptografar dados sensíveis •  Falhas quando a criptografia é empregada: -  Geração e armazenamento inseguros de chaves -  Não implantar políticas de rotação de chaves -  Utilizar algoritmos de criptografia fracos -  Utilizar métodos de criptografia em uma só via (hash) fracos ou sem salto para proteger senhas.
  • 60. Descrição •  Falha em proteger o tráfego de rede onde passam os dados da aplicação •  Utilização de criptografia somente na autenticação (expondo dados e IDs de seção) •  Utilização de certificados expirados ou mal configurados •  Falhas básicas de fácil detecção, bastando observar o tráfego de rede do site.
  • 61. •  Frequentemente comprometem todos os dados protegidos por criptografia •  Tipicamente, estes dados incluem, mas não estão limitados à: -  Credenciais de acesso -  Dados pessoais -  Registros de saúde -  Cartões de crédito, etc. Impacto
  • 62. •  Algoritmos de criptografia e chaves utilizados devem ser apropriadamente fortes. •  Senhas devem armazenadas em hash com um algoritmo de criptografia em uma só via, forte e com um salto apropriado. •  Proteger o transporte de dados adequadamente pode afetar o projeto do site. Em geral, é mais simples forçar o uso de criptografia em todo o site. Como se Prevenir
  • 63. Falha no controle de acesso Principais Ameaças
  • 64. Falha no controle de acesso •  Usuário autorizado modifica um parâmetro ou URL e acessa uma função privilegiada •  Usuário anônimo acessa funções desprotegidas •  Impacto •  Acesso a contas e dados de outros usuários •  Realizar ações de privilégio maior do que devido
  • 65. Falha no controle de acesso a nível de função
  • 66. Como prevenir •  Restringir acesso a usuários autenticados •  Mostrar somente o que for designado ao usuário ou ao grupo •  Negar qualquer requisição a páginas não autorizadas •  Não utilizar abordagens de análise automatizada •  Deve-se negar todo o conteúdo (DENY ALL)
  • 68. •  Browsers enviam alguns tipos de credenciais automaticamente -  Cookies -  Cabeçalhos -  Endereço IP -  Certificados SSL Definição
  • 69. •  A vítima acessa um site malicioso enquanto está logada no sistema vulnerável •  O atacante força a vítima a fazer tal requisição Impacto
  • 70. Cross Site Request Forgery(CSRF)
  • 71. •  Autenticações forçadas em requisições sensíveis •  Controle exposição de dados utilizados como credenciais •  Adicionar um token secreto, não automático, para todas requisições importantes Como se Prevenir
  • 73. Utilização de componentes vulneráveis •  Componentes bibliotecas e frameworks •  Demora na divulgação da vulnerabilidade •  Muitos produtores não lançam uma correção (hot fix)
  • 74. •  Monitorar versões de todos os componentes, incluindo todas dependências •  Manter componentes sempre atualizados •  Organizar uma política de segurança •  Buscar uma alternativa enquanto uma correção não aparece Como se Prevenir
  • 75. Redirecionamentos e repasses não validados Principais Ameaças
  • 76. Descrição •  Falha em validar o destino de redirecionamentos ou repasses utilizados •  Problemas mais comuns: -  Ausência de validação do destino de um redirecionamento ou repasse -  Similaridade entre redirecionamento para destinos internos (da própria aplicação) e externos
  • 77. l  Redirecionamentos podem induzir usuários a instalar malware ou revelar informações sensíveis. l  Repasses inseguros podem permitir contornar controles de acesso. Impacto
  • 78. l  Evitar estas falhas é extremamente importante, pois elas são os alvos favoritos de phishers tentando ganhar a confiança de um usuário. l  Recomendações básicas para utilizar redirecionamentos e repasses: -  Não envolver parâmetros de usuário para calcular o destino -  Se não puder ser evitar, validar o parâmetro e verificar autorização do usuário Como se Prevenir
  • 81. Rafael Soares Ferreira Sócio Diretor Técnico Muito Obrigado! rafael@clavis.com.br @rafaelsferreira