omo invadir um site: Exemplo de invasão de sites on-line

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 aplicativos da web podem ser explorados para obter acesso não autorizado a dados confidenciais e servidores da web.

Neste tutorial, você aprenderá como hackear sites e apresentaremos a você técnicas de hacking de aplicativos da web e as contra-medidas que você pode implementar para se proteger contra tais ataques .

Tópicos abordados neste tutorial

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. Está hospedado em um servidor web. O aplicativo cliente é executado no navegador da web do cliente. Os aplicativos da web são geralmente escritos em linguagens como Java, C # e VB.Net, PHP, ColdFusion Markup Language, etc. os motores de banco de dados usados ​​em aplicativos da web incluem MySQL, MS SQL Server, PostgreSQL, SQLite, etc.

A maioria dos aplicativos da web são hospedados 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 as ameaças comuns aos aplicativos da web.

  • Injeção 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 pode ser negar o acesso de usuários legítimos ao recurso
  • Cross Site Scripting XSS - o objetivo desta ameaça pode ser injetar código que pode ser executado no navegador do lado do cliente.
  • Envenenamento de cookie / sessão - o objetivo dessa ameaça é modificar os cookies / dados da sessão de um invasor para obter acesso não autorizado.
  • Adulteração de formulários - o objetivo dessa ameaça é modificar os dados do formulário, como preços em aplicativos de e-commerce, para que o invasor possa obter itens a preços reduzidos.
  • Injeção de Código - o objetivo dessa ameaça é injetar código como PHP, Python, etc., que pode ser executado no servidor. O código pode instalar backdoors, revelar informações confidenciais, etc.
  • Desfiguração - o objetivo dessa 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 hacks?

Uma organização pode adotar a política a seguir para se proteger contra ataques a servidores web.

  • Injeção 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 ataques via Injeção SQL . Mecanismos de banco de dados como MS SQL Server, MySQL, etc. oferecem suporte a parâmetros e instruções preparadas. Eles são muito mais seguros do que as instruções SQL tradicionais
  • Ataques de negação de serviço - firewalls podem ser usados ​​para descartar 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 ter sido bem-sucedido.
  • Cross Site Scripting - validar e higienizar cabeçalhos, parâmetros passados ​​por meio da URL, parâmetros de formulário e valores ocultos podem ajudar a reduzir os ataques XSS.
  • Envenenamento de cookie / sessão - isso pode ser evitado criptografando o conteúdo dos cookies, expirando o tempo dos cookies após algum tempo, associando os cookies ao endereço IP do cliente que foi usado para criá-los.
  • Têmpera de formulário - 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 aplicativos da web deve garantir que sela as vulnerabilidades comumente usadas para acessar o servidor da web. Esta pode ser uma configuração adequada do sistema operacional, software de servidor da web e melhores práticas de segurança ao desenvolver aplicativos da web.

Truques para hackear sites: hackear um site on-line

Neste cenário prático de hacking de site, vamos sequestrar a sessão do usuário do aplicativo da web localizado em www.techpanda.org . Usaremos cross site scripting para ler o ID da sessão do cookie e, em seguida, utilizá-lo para personificar uma sessão de usuário legítima.

A suposição feita é que o invasor tem acesso ao aplicativo da web e gostaria de sequestrar as sessões de outros usuários que usam o mesmo aplicativo. O objetivo desse ataque pode ser obter acesso de administrador ao aplicativo da web, supondo que a conta de acesso do invasor seja limitada.

Começando

  • Abrir http://www.techpanda.org/
  • Para fins de prática, é altamente recomendável obter acesso usando SQL Injection. Consulte isso artigo para obter mais informações sobre como fazer isso.
  • O email de login éEste endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo., a senha é Password2010
  • Se você se logou com sucesso, obterá o seguinte painel

  • Clique em Adicionar Novo Contato
  • Insira o seguinte como o primeiro nome

Escuro

AQUI,

O código acima usa JavaScript . Ele adiciona um hiperlink com um evento onclick . Quando o usuário desavisado clica no link, o evento recupera o ID da sessão do cookie PHP e o envia para a página snatch_sess_id.php junto com o ID da sessão no URL

  • Insira os detalhes restantes conforme mostrado abaixo
  • Clique em Salvar Mudanças

  • Seu painel agora se parecerá com a tela a seguir

  • Uma vez que o código de script cross site é armazenado no banco de dados, ele será carregado toda vez que os usuários com direitos de acesso fizerem login
  • Suponhamos que o administrador faça login e clique no hiperlink que diz Dark
  • Ele / ela irá obter a janela com o id da sessão mostrado na URL

Observação : o script pode estar enviando o valor para algum servidor remoto onde o PHPSESSID está armazenado e o usuário redireciona de volta ao site como se nada tivesse acontecido.

Observação : o valor que você obtém pode ser diferente daquele neste tutorial de hacking de página da web, mas o conceito é o mesmo

Roubo de identidade de sessão usando Firefox e complemento de dados adulterados

O fluxograma abaixo mostra as etapas que você deve seguir para concluir este exercício.

  • Você precisará do navegador Firefox para esta seção e do complemento Tamper Data
  • Abra o Firefox e instale o add conforme mostrado nos diagramas abaixo

  • Pesquise dados de adulteraçã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 no Firefox se ela não for exibida

  • Clique no menu de ferramentas e selecione Tamper Data como mostrado abaixo

  • Você obterá a seguinte janela. Nota: Se o Windows não estiver vazio, aperte o botão Limpar

  • Clique no menu Start Tamper
  • Volte para o navegador Firefox, digite http://www.techpanda.org/dashboard.php em seguida, pressione a tecla Enter para carregar a página
  • Você obterá o seguinte pop-up de Tamper Data

  • A janela pop-up possui três (3) opções. A opção Tamper permite que você modifique as informações do cabeçalho HTTP antes de serem enviadas ao servidor .
  • Clique nisso
  • Você obterá a seguinte janela

  • Copie o ID de sessão PHP que você copiou do URL de ataque e cole-o após o sinal de igual. Seu valor agora deve ser parecido com este

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Clique no botão OK
  • Você obterá a janela pop-up de dados de violação novamente

  • Desmarque a caixa de seleção que pergunta Continuar adulteração?
  • Clique no botão enviar quando terminar
  • Você deve ser capaz de ver o painel conforme mostrado abaixo

Observação : não fizemos login, representamos uma sessão de login usando o valor PHPSESSID que recuperamos usando script de site cruzado

Resumo

  • Um aplicativo da web é baseado no modelo cliente-servidor. 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.
  • Ameaças de aplicativos da Web incluem injeção de SQL, injeção de código, XSS, desfiguração, envenenamento de cookies, etc.
  • Uma boa política de segurança ao desenvolver aplicativos da web pode ajudar a torná-los seguros.