Pentest em aplicações web
Book information
Description
Aplicações web têm um histórico extenso de vulnerabilidades, que têm sido exploradas pelos hackers. A lista de ataques conhecidos é extensa, envolvendo Cross-site Scripting, SQL Injection, unrestricted file upload, Code Injection, Command Injecion, Remote/Local File Inclusion e Cross-site Request Forgery, somente para citar alguns. Neste livro, você conhecerá as técnicas mais utilizadas pelos hackers, e poderá implementar mecanismos de proteção em suas aplicações web contra esses ataques. Para facilitar, esta obra é dividida em três seções. A primeira tem como foco ensinar o básico sobre ambientes web, sendo o PHP a linguagem escolhida. Entendendo bem a primeira seção, a segunda reportará como os ataques são realizados. Nessa parte, ferramentas e técnicas manuais de ataques serão descritas a fim de se conhecer quais as possíveis vulnerabilidades do website. As técnicas de defesa serão descritas na terceira seção, para que o website seja disponibilizado on-line com o mínimo de segurança. No decorrer do livro, o leitor aprenderá: Os princípios da programação web (HTML, CSS, PHP e SQL) e quais as funções do PHP com que se deve ter mais cuidado. A realizar um pentest na própria aplicação seguindo as normas da OWASP e saber qual é o modus operandi de um ataque. A analisar um código PHP e determinar se este está ou não vulnerável. A aplicar correções e adotar as melhores práticas de segurança defensiva. Agradecimentos Isenção de responsabilidade Sobre o autor Prefácio Nota inicial parte I Introdução capítulo 1 Introdução ao HTML 1.1 Introdução ao HTML 1.2 Estrutura do documento HTML 1.3 Abertura e fechamento de tags 1.4 Principais tags 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 , , , , e 1.4.8 1.4.9 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.5 Principais atributos das tags 1.5.1 class 1.5.2 disabled 1.5.3 hidden 1.5.4 id 1.5.5 maxlength 1.5.6 style capítulo 2 Introdução ao CSS 2.1 Introdução ao CSS 2.1.1 Arquivo externo 2.1.2 Tag 2.1.3 Atributo style 2.2 Principais propriedades do CSS 2.2.1 background 2.2.2 height e width 2.2.3 position 2.2.4 z-index capítulo 3 Introdução ao PHP 3.1 Introdução ao PHP 3.2 Estrutura de um documento PHP 3.3 Comentários 3.4 Finalização de instruções e quebra de linha 3.5 Mensagens de erros e a função phpinfo() 3.5.1 Mensagens de erros 3.5.2 phpinfo() 3.6 Tipos de dados 3.6.1 String 3.6.2 Numérico 3.6.3 Booleanos 3.6.4 Bits 3.6.5 Variáveis 3.6.6 Arrays 3.7 Diferença entre atribuição e comparação 3.8 Associatividade e precedência das operações 3.9 Condicionais 3.9.1 if 3.9.2 if...else 3.9.3 if...elseif...else 3.9.4 switch...case...default 3.10 Laços de repetição 3.10.1 while 3.10.2 for 3.10.3 foreach 3.11 Arquivos 3.12 Funções 3.12.1 Funções e o escopo de variáveis 3.12.2 Funções predefinidas 3.13 Cookies e sessões 3.13.1 Cookies 3.13.2 Sessões 3.14 Incluindo outros arquivos 3.14.1 include 3.14.2 include_once 3.14.3 require 3.14.4 require_once capítulo 4 Introdução ao SQL 4.1 Introdução ao SQL 4.1.1 Acessando o MySQL 4.1.2 Criando a base de dados 4.1.3 Criando tabelas 4.1.4 Inserindo valores 4.1.5 Consultando valores 4.1.6 Atualizando valores 4.1.7 Removendo valores 4.1.8 Tabela information_schema 4.2 Operadores e funções do SQL 4.3 Integrando o MySQL ao PHP 4.4 Criando manualmente uma página de phishing parte II Pentest em aplicações web capítulo 5 Introdução ao web pentest 5.1 Introdução ao pentest web capítulo 6 Reconhecimento 6.1 Google Hacking 6.1.1 Operadores especiais 6.1.2 Mineração de dados 6.1.3 Consultas ofensivas 6.2 Shodan 6.3 Arquivo robots.txt 6.4 Ícone de sites 6.5 Mensagens de erro 6.6 Clonagem de sites 6.6.1 wget 6.6.2 httrack 6.7 Mapeamento da infraestrutura capítulo 7 Scanning 7.1 Whatweb 7.2 Nmap 7.3 Nmap Scripting Engine (NSE) 7.3.1 Categoria auth 7.3.2 Categoria brute 7.3.3 Categoria default 7.3.4 Categoria discovery 7.3.5 Categoria DoS 7.3.6 Categoria exploit 7.3.7 Categoria external 7.3.8 Categoria fuzzer 7.3.9 Categoria safe 7.4 Dirb 7.5 Dirbuster 7.6 Burp Suite 7.6.1 Configurando o browser 7.6.2 Conexões HTTPS 7.6.3 Capturando e modificando conexões via proxy 7.6.4 Aba Target 7.6.5 Aba Proxy 7.6.6 Aba Spider 7.6.7 Aba Scanner 7.6.8 Aba Intruder 7.6.9 Aba Repeater 7.6.10 Aba Sequencer 7.6.11 Aba Decoder 7.6.12 Aba Comparer 7.6.13 Aba Extender 7.6.14 Aba Project options 7.6.15 Aba User options 7.7 Proxies alternativos capítulo 8 Exploração de falhas 8.1 A1 – Injeção 8.1.1 Injeção SQL 8.1.2 Injeção em formulários de e-mail 8.1.3 Injeção de códigos (code injection) 8.1.4 Injeção de comandos (command injection) 8.1.5 Injeção HTML 8.1.6 Injeção XPATH 8.1.7 Injeção XPATH às cegas (blind XPath injection) 8.1.8 Injeção SOAP 8.1.9 Injeção LDAP 8.1.10 Injeção em iframes 8.2 A2 – Quebra de autenticação e gerenciamento de sessão 8.2.1 Senhas esquecidas 8.2.2 Senhas em formulários 8.2.3 Validação de logins (JavaScript) 8.2.4 Ataques de força bruta 8.2.5 Botões de sair (logout) 8.2.6 Gerenciamento de cookies 8.2.7 ID de sessão na URL 8.2.8 Fixação de sessão (Session fixation) 8.3 A3 – Cross-site Scripting 8.3.1 XSS refletido 8.3.2 XSS armazenado 8.3.3 XSS baseado em DOM 8.3.4 Cross-site Tracing 8.3.5 Frameworks de exploração XSS 8.4 A4 – Quebra do controle de acesso 8.4.1 Formulários inseguros para troca de senhas 8.4.2 Travessia de diretórios (Directory traversal) 8.4.3 Inclusão de arquivos locais (Local File Inclusion – LFI) 8.4.4 Inclusão de arquivos remotos (Remote File Inclusion – RFI) 8.4.5 Server Side Request Forgery (SSRF) 8.4.6 XML External Entity Attacks (XXE) 8.5 A5 – Configurações incorretas de segurança 8.5.1 Conta anônima habilitada no servidor FTP 8.5.2 CVE-2015-3306 8.5.3 Configurações incorretas do WebDAV 8.5.4 Escuta do tráfego HTTP (Man-in-the-Middle) 8.5.5 Escuta do tráfego HTTPS (Man-in-the-Middle) 8.5.6 SSLStrip 8.5.7 SSLStrip2 8.5.8 Rogue DHCP e DHCP starvation 8.6 A6 – Exposição de dados sensíveis 8.6.1 Criptografia dos dados com base64 8.7 A7 – Proteção insuficiente contra ataques 8.8 A8 – Cross-site Request Forgery (CSRF) 8.8.1 Token anti-CSRF 8.9 A9 – Utilização de componentes conhecidamente vulneráveis 8.9.1 CVE-2014-0160 8.9.2 CVE-2014-6271 8.9.3 Cifras SSL defasadas 8.10 A10 – APIs não protegidas 8.11 Vulnerabilidades adicionais 8.11.1 Upload irrestrito de arquivos (Unrestricted file upload) 8.11.2 Redirecionamentos e encaminhamentos inválidos 8.11.3 Poluição de parâmetros (HTTP Parameter Pollution) 8.11.4 CRLF Injection / HTTP Response Splitting 8.11.5 Ataque ao cabeçalho Host (Host Header Attack) 8.11.6 Ataque ao método HTTP (HTTP method tampering) capítulo 9 Ferramentas automatizadas 9.1 SQLMap 9.2 jSQL 9.3 Commix 9.4 Nikto 9.5 Vega 9.6 Skipfish 9.7 Wapiti 9.8 Acunetix capítulo 10 Escalonamento de privilégios capítulo 11 Manutenção do acesso capítulo 12 Negação de serviço (Denial Of Service – DoS) 12.1 CVE-2013-2028 12.2 CVE-2007-6750 12.3 HTTP Unbearable Load King (HULK) capítulo 13 Correções 13.1 Injeção SQL 13.2 Injeção em formulários de e-mail 13.3 Injeção de comandos (command injection) 13.4 Senhas esquecidas 13.5 Validação via JavaScript 13.6 Cross-site scripting e injeção HTML 13.7 Man-in-the-Middle 13.8 Exposição de dados sensíveis 13.9 Remote File Inclusion (RFI), Local File Inclusion (LFI) e travessia de diretórios 13.10 Cross-site Request Forgery (CSRF) 13.11 Clickjacking 13.12 Redirecionamento não validado 13.13 RIPS capítulo 14 Considerações finais Referências bibliográficas
Similar books
Ciudadanía organizada en la democracia boliviana
2023 · PDF
Lexicografía electrónica especializada. El caso del Diccionario Académico de Medicina (DIACME)
2020 · EPUB
Pentest em redes sem fio
2017 · AZW3
Análisis y Solución de Problemas para la Excelencia Operacional
La ciudad antigua: estudio sobre el culto, el derecho y las instituciones de Grecia y Roma
1971 · PDF
Balmaceda: A Intervenção Estrangeira Durante a Revolta de 1893
1949 · PDF
"Que tenhas teu corpo": uma história social da prostituição no Rio de Janeiro das primeiras décadas republicanas
2024 · PDF
Turismo, território e conflitos imobiliários
2012 · PDF