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 as técnicas de hack de aplicativos da web e as contra-medidas que você pode implementar para se proteger contra esses ataques .
Tópicos abordados neste tutorial
- O que é um aplicativo da web? O que são ameaças da Web?
- Como proteger seu site contra hacks?
- Truques para hackear sites: hackear um site online!
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 acesso ao banco de dados e lógica de negócios. Ele 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.
- SQL Injection - 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 dessa ameaça pode ser injetar código que pode ser executado no navegador do cliente.
- Envenenamento de cookies / 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 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 seguinte política para se proteger contra ataques a servidores web.
- SQL Injection - 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 ataque por meio de SQL Injection. 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 - os 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 êxito.
- Cross Site Scripting - validar e higienizar cabeçalhos, parâmetros passados por meio do URL, parâmetros de formulário e valores ocultos podem ajudar a reduzir os ataques XSS.
- Cookie / Envenenamento de 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.
- Modificação 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, usá-lo para representar 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
- Abra http://www.techpanda.org/
- Para fins de prática, é altamente recomendável obter acesso usando SQL Injection. Consulte este artigo para obter mais informações sobre como fazer isso.
- O email de login é Este endereço de email está protegido contra piratas. 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
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 sempre que os usuários com direitos de acesso fizerem login
- Vamos supor 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 redirecionado 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
Representação de sessão usando Firefox e complemento de dados de violação
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 e 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 enviá-las 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 assim
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, mas 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.