WEB Hacking: Conheça as 10 principais vulnerabilidades
1. WEB Hacking
O lado obscuro da Força
Denny R S Vriesman – denny@softplan.com.br
Software Engineering Lead
Outubro/2015
2. Motivação
A melhor forma de prevenção é aprender como o
lado obscuro da força atua. Assim é possível
entender plenamente onde estão as
vulnerabilidades e suas consequências.
3. Agenda
OWASP
Java Vulnerable Lab
A1 – Injeção
A2 - Quebra de Autenticação e
Gerenciamento de Sessão
A5 – Configuração Incorreta de
Segurança: Invadindo via JBOSS JMX-
Console
4. OWASP
Open Web Application Security Project
(OWASP) é uma comunidade aberta,
dedicada a capacitar as organizações a
desenvolver, adquirir e manter aplicações
confiáveis.
www.owasp.org
5. OWASP TOP 10
A1 – Injeção
A2 – Quebra de autenticação e
gerenciamento de sessão
A3 – Cross Site Scripting
A4 – Referência Insegura e Direta a Objetos
A5 – Configuração Incorreta de Segurança
6. OWASP TOP 10
A6 – Exposicão de dados sensíveis
A7 – Falta de Função para Controle de Nível
de Acesso
A8 – Cross-Site Request Forgery (CSRF)
A9 – Utilização de Componentes vulneráveis
conhecidos
A10 – Redirecionamentos e
encaminhamentos inválidos
9. A1 - Injeção
HTML Injection
SQL Injection
XML Injection
XSLT Injection
XPATH Injection
10. A1 – Injeção - SQL
O que é Injeção de SQL?
É uma técnica utilizada para tirar vantagem
de campos sem validação de forma a executar
comandos SQL arbitrários na base de dados
de uma aplicação.
11. A1 – Injeção - SQL
O que é possível fazer ao explorar essa falha ?
• Quebrar a autenticação
• Recuperar informações da base de dados
• Comprometer a integridade dos dados
• Execução remota de código
12. A1 – Injeção - SQL
Demonstrando o poder do UNION
Demonstrando o poder do ORDER BY
Demonstrando o SQL Injection no
Login
Fazendo um estrago com através da ferramenta SQLMAP
14. A1 – Injeção - XML
O Ataque de Injeção de XML consiste em modificar
requisições que trafegam XML de forma a tirar vantagem da
manipulação dos dados.
16. A1 – Injeção - XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe
SYSTEM "file:///dev/random" >]><foo>&xxe;</foo>
Um ataque típico é o XXE (XML external entity attack), que
visa recuperar arquivos privilegiados da máquina que roda a
aplicação WEB.
17. A1 – Injeção - XML
Usando o ZAP Proxy para modificar XMLS
Demonstrando o Ataque XXE
18. A2 – Quebra de Autenticação e
Gerenciamento de Sessão
Login Brute Force
Man-in-the-middle
Sniffing
Man-in-the-browser
Session Token Prediction
19. A2 – Quebra de Autenticação e
Gerenciamento de Sessão
Demonstrando Login Brute Force
20. A5 – Configuração Incorreta de
Segurança
A Configuração Default (padrão) é insegura.
Isso vale para servidores de aplicação, banco de
dados, frameworks, etc.
21. A5 – Configuração Incorreta de
Segurança
JBOSS JMX-Console
Demo – Invadindo o servidor JBOSS