O que há de novo?
Banco de dados Oracle erro acrescentado baseados com capacidade para executar a consulta.
Obter tabelas e colunas do banco de dados quando o nome é desconhecido acrescentado (mysql)
Outro método agregado para encontrar colunas e colunas seqüência de contagem no PostgreSQL
Localizador Automático de palavras-chave otimizadas e alguns bugs corrigidos.
Um erro na busca de coluna seqüência válida no mysql fixo.
"A chave não é única" bug corrigido
Obtendo dados da linha 2 começa quando todos em uma falha - bug corrigido
Erro de tempo quando encontrar palavras-chave fixa.
Falso tabela achado em acesso fixo.
método de correção feito melhor palavra-chave
Um erro na obtenção de base de dados atual em mssql fixo.
Um método secundário acrescentado quando o valor de entrada não retorna uma página normal (geralmente 404 não encontrado)
Dados bug extração em páginas HTML-codificado fixa.
String ou detecção do tipo inteiro feito melhor.
Um erro na injeção https fixo.
Instalação
Qual é Havij?
Havij é uma ferramenta automatizada de injeção SQL que ajuda os testadores de penetração de encontrar e explorar vulnerabilidades de injeção SQL em uma página web.
Pode tirar proveito de uma aplicação web vulnerável. Ao utilizar este usuário pode executar software de back-end de banco de dados de impressões digitais, recuperar usuários DBMS e senha hashes, tabelas de despejo e colunas, buscar dados do banco de dados, execução de instruções SQL e até mesmo acessar o sistema de arquivos subjacente e executar comandos no sistema operacional.
O poder de Havij que o torna diferente de ferramentas similares é seu método de injeção. A taxa de sucesso é mais do que 95% a injetar alvos vulneráveis usando Havij.
A interface amigável GUI (Graphical User Interface) do Havij e configurações automáticas e detecções torna fácil de usar para todos, mesmo os usuários amadores.
O que é SQL Injection?
SQL Injection é a vulnerabilidade de aplicativos Web comuns, devido à validação insuficiente de entradas de usuários. Um invasor pode injetar um pouco de comandos SQL para a consulta original escrito pelo desenvolvedor para mudar o resultado para que ele / ela quer e executar seus comandos. Este trabalho (injeção de comandos SQL) é a exploração que pode causar a divulgação de dados sensíveis, alterar dados, apagar dados ou até mesmo comprometer o sistema todo!
Quem deve usar Havij?
Todos os profissionais de segurança, os administradores da Web, desenvolvedores de aplicações web, testadores de penetração, todos aqueles que desejam testar seus sites de segurança e todos os hack e pesquisadores de segurança pode usar Havij.
Instalando Havij
Requisitos para instalar Havij:
Sistema operacional Windows
Havij arquivo de instalação
Internet Explorer 5.5 ou superior
7MB de espaço livre no disco rígido
Certifique-se de que você tenha baixado o arquivo de configuração do ItSecTeam.com ou em outro lugar que você confia.
Para iniciar a instalação execute o arquivo de configuração. Abaixo a janela deve ser exibida.
Clique em "Next" para continuar a instalação e a janela abaixo será mostrada.
Na janela acima você deve especificar onde você deseja instalar Havij. Você pode usar o caminho padrão e clique em "Next" para ir à próxima etapa.
Você deve entrar na pasta do Menu Iniciar que será criado para o programa na tela acima. Clique em 'Next' depois de fazê-lo.
Se você gostaria de criar um atalho para o Havij na área de trabalho marque a opção "Criar um ícone no desktop 'checkbox. Com informações clicando no botão "Next" seguinte sobre a instalação deve ser mostrada.
Clique em "Instalar" para iniciar a instalação.
Após a instalação terminar, a seguinte janela será mostrada.
Se você gostaria de executar Havij após a instalação, verifique "Lançamento Havij 'checkbox e clique no botão" Concluir ".
Havij instalação concluída com êxito.
Para executar Havij você pode clicar no ícone Havij na pasta Menu Iniciar ou executá-lo de atalho no desktop.
Importante: Havij precisa acessar a internet para injetar os alvos. Se você usar um software de firewall, dê as permissões necessárias para o Havij.
As etapas acima são os mesmos em todas as versões.
Desinstalar Havij
Para desinstalar Havij ir ao Painel de Controle e abra "Adicionar ou Remover Programas", em seguida, encontrar Havij na lista.
Clique em "Remover" para desinstalar começa. O programa de desinstalação irá pedir-lhe que você tem certeza que deseja desinstalar ou não, clique em 'Sim'. Havij processo de remoção prosseguirá automaticamente e, finalmente, a seguinte mensagem será mostrada.
As etapas acima são os mesmos em todas as versões.
Verifique se há atualização
Se houver uma nova versão disponível, esta mensagem será exibida.
Se você quiser baixar a nova versão, clique no botão 'Sim'.
Fast começando com Havij
Você não precisa de tantas informações técnicas para o uso Havij porém tem um monte de configurações para usuários profissionais. Para começar a usar Havij você só precisa de uma URL vulnerável à SQL Injection bug.
Como achar um site vulnerável? Você pode usar programas de web vulnerabilidade scanner e ferramentas disponíveis para encontrar vulnerabilidades de SQL Injection e você também pode usar o Google. Não importa se você não tiver certeza de que a página está vulnerável ou não, Havij irá verificá-lo. Você pode usar Havij para verificar a segurança do seu próprio site.
Por que o endereço de destino para ser como 'https://www.target.com/index.php?id=123? Como as páginas vulneráveis devem ter pelo menos uma entrada que Havij poderia injetar dentro
Guardar e carregar o projeto
Para aumentar sua velocidade em alvos de teste, você pode salvá-los depois de analisar e injetáveis, assim você não terá necessidade de analisá-las novamente para uso posterior.
Para salvar o projeto, após análise, clique no botão "Salvar" abaixo do "Analisar" e selecione um arquivo.
Para carregar um projeto e continuá-lo clique no botão 'Load' perto do botão "Salvar" e carregar o projeto salvo.
Obtendo Informações
Após a análise concluída, se o alvo é vulnerável, o botão "Info" no menu superior será ativado. Você pode usar esta opção para obter algumas informações como nome do banco de dados, banco de dados atual, nome do servidor e muito mais. Para isso, clique em "Info" e clique em 'Get' info extraído será mostrado na caixa de texto. Você pode salvar esta informação, clicando no botão "Salvar".
Extração de dados
Usando o botão 'tables' no menu superior você pode encontrar servidor de banco de dados e tabelas. Clique em "Tables" para exibir a janela de extração de dados. Na janela da esquerda e bancos de dados tabelas serão mostrados e na janela da direita extraíram os dados. Após a análise, banco de dados de destino padrão é selecionado na janela esquerda, para obter todos os dados, clique em 'Get DBs.
Importante: o usuário do banco de dados atual pode não ter o suficiente privilégio de acessar bancos de dados de outros.
Para ver as tabelas, marque um ou mais banco de dados da lista da esquerda e clique em "Get tables”. As tabelas serão listadas em bases de dados.
“Para obter primeiras colunas escolher uma ou mais tabelas e, em seguida, clique em ‘Get columns”.
Para obter dados de tabelas de selecionar algumas colunas (verifique sua caixa) e, em seguida, clique em "Get Data".
Filtrando dados
Às vezes você está procurando uma base de dados específica no banco de dados, nesses casos, você pode usar o filtro para encontrar o que deseja mais rápido.
Para definir um filtro de extração de dados, clique na seta próximo ao ”Get Data "e selecione" Filtro "a partir do menu aberto. Agora entra a sua condição e clique em "Get Data" para obter todos os dados que se encaixam a sua condição.
Por exemplo, se você deseja obter o registro de que sua coluna 'Nome' é 'admin', digite a seguinte condição de filtro:
Username = 'admin'
Para remover o filtro de deixá-lo vazio.
Alterar dados de a linha iniciar a extração
“O “Get Data” extrai dados de primeira linha para a última linha por padrão”. ”Se você quiser mudar a linha começar clique na seta próximo ao ‘Obter dados “e selecione” Start Row “, em seguida, digite o número de linha de dados iniciar a extração. Agora clique em "Obter Dados" para iniciar a extração de dados. A qualquer momento você pode clicar em "Stop" para parar de extração de dados.
Usando GROUP_CONCAT
Esta opção está abaixo da lista de banco de dados e tabelas. Se ele é ativado, significa que você pode usar a função GROUP_CONCAT no banco de dados MySQL para extrair todas as tabelas e bancos de dados em um pedido.
Importante: se existem tantas tabelas ou colunas, Havij pode não ser capaz de extrair todos eles usando a opção GROUP_CONCAT. A seguinte mensagem será exibida neste caso.
Para obter as tabelas ou bases de dados normalmente desmarque esta GROUP_CONCAT e tente novamente.
Extração de dados de uma linha de uma só vez
Usando 'tudo em um pedido de "opção abaixo da janela de dados extraídos você pode obter uma linha de dados de todas as colunas que você selecionou em um pedido.
Importante: se as colunas selecionadas são demais, Havij pode não ser capaz de extrair todos os dados usando esse método. Para obter dados desmarque normalmente "All in one request" e tente novamente.
Salvando dados
Para salvar tabelas em formato html, clique em "Salvar Tabelas" e para salvar os dados, clique em "Salvar dados".
Se você gostaria de salvar dados no formato XML, clique na seta próximo ao 'obter dados' e selecione 'Salvar como XML', em seguida, selecionar um arquivo para salvar.Agora clique em "Obter dados, extraídos de dados não será exibida em forma e vai ser salvos diretamente no arquivo XML. Isso é bom para a obtenção de dados tanto.
Se você gostaria de fazer um dump de dados, como MySQL, clique na seta próxima a 'obter dados' e 'Dump em Arquivo ", selecione e clique em" Obter dados "dados extraídos então não será exibido e será diretamente no arquivo. Isso é bom para a obtenção de dados tanto.
A atualização de dados
Para atualizar os dados, clique duas vezes sobre ele e inserir novos dados, em seguida, pressione a tecla Enter.
Excluindo os dados
Para excluir uma linha com o botão direito sobre ele e selecione "Delete Row.
Inserindo dados
Para inserir um novo registro com o botão direito em uma linha e selecione “Insert Row ".
Importante: não é possível atualizar, inserir ou excluir dados em MySQL com PHP. Ele é mostrado na tabela abaixo para outras bases de dados e linguagens.
MsAccess |
Oracle |
PostgreSQL |
MySQL |
SQL Server |
|
No |
? |
? |
? |
Yes |
ASP |
No |
? |
? |
? |
Yes |
ASP.NET |
No |
? |
Yes |
No |
Yes |
PHP |
No |
No |
? |
No |
? |
JAVA |
No |
? |
? |
? |
Yes |
ColdFusion |
Lendo arquivos
Se o banco de dados MySQL após analisar 'ler arquivos' será ativada e você pode ler arquivos no servidor MySQL usando. Para fazer isso basta digitar o endereço do arquivo e 'Ler', clique em
Importante: se o arquivo não existe ou o usuário do banco de dados atual não tem privilégios suficientes para acessar o arquivo, nada será exibido.
Executando comandos do sistema no alvo
Quando o banco de dados alvo é o Microsoft SQL Server, 'CMD Shell opção será ativada e você pode executar comandos do sistema no servidor SQL.
Insira o seu comando e 'Executar' clique. O resultado será exibido se o comando foi executado.
Importante: para executar comandos de banco de dados do usuário deve ter privilégio suficiente.
Consulta
Ao utilizar a “query” no menu superior você pode executar sua própria consulta no banco de dados de destino.
Importante: as consultas SQL não deve retornar mais de uma linha.
Ao usar 'Localizar Admin' você pode encontrar qualquer página de login do site. Clique em 'Find Admin', digite o endereço do site em 'Caminho para a pesquisa' e 'Start' para encontrar páginas de login clique disponíveis para esse site. páginas encontradas serão mostradas na lista. Você pode clique direito sobre elas e selecione 'Abrir URL' para abri-los em seu navegador.
Cracking hashes MD5
Havij tem um cracker MD5 online. Clique em "MD5" no menu superior e introduzir o hash que você quer crackear campo em "MD5" e "Iniciar", clique em. Havij irá procurar hash em vários locais no modo multi thread e exibe o resultado.
Manual Injeção
Havij tem ajustes manuais de injeção que permitem ao usuário configurá-los manualmente e utilizar as vantagens Havij em injetar alvos vulneráveis à SQL Injection bug. Por padrão, todas essas configurações são definidas como 'Auto Detect' Havij e faz tudo o que for necessário. Essas configurações são palavras-chave, sintaxe, banco de dados e Type (tipo variável). Você pode definir uma ou todas essas configurações manualmente e começar a injetar.
Escolhendo Database
Se você tem certeza que o servidor de banco de dados é alvo, você pode selecioná-lo na lista 'Database' no topo da janela principal do programa. Havij suporta bases de dados e métodos de injeção.
MsSQL com erro: Microsoft injeção SQL Server utilizando o método de erro com base
MsSQL nenhum erro: Microsoft SQL Server usando a injeção união
MsSQL Blind: Microsoft injeção SQL Server utilizando o método de ocultação
MySQL versão desconhecida: MySQL injeção utilizando união
Blind MySQL: MySQL utilizando o método de injeção de cegos
MySQL erro base: a injeção MySQL utilizando o método de erro com base
Oracle: Oracle utilizando o método de injeção de união
PostgreSQL: PostgreSQL usando o método de injeção de união
MsAccess: Microsoft Access utilizando o método de injeção de união
MsAccess Blind: Microsoft Access utilizando o método de injeção de cegos
Escolher tipo de variável
Tipo de variável é o tipo da variável de entrada que Havij injeta nela que podem ser inteiros ou string. tipo Integer é variável que vai ser usado diretamente na consulta SQL, mas o tipo string será usado entre aspas ("ou).
Define-chave
Palavra é uma palavra que indica a resposta verdadeira. verdadeira resposta é a resposta que retorna a uma página de injeção de SQL que retorne alguns registros. A resposta falsa é o retorno de resposta de página a uma injeção que causam a consulta para retornar nenhuma linha. Palavra é uma palavra do código HTML da página de resposta verdadeira.
Para encontrar palavras-chave que você pode usar injeções seguintes.
https://site.com/index.php?id=52 e 1 = 1 que devolve a resposta verdadeira para variáveis inteiras
https://site.com/index.php?id=52 e 1 = 0, que retorna a resposta falsa para variáveis inteiras
E
https://site.com/index.php?id=52 'e' x '=' x que retorna verdadeira resposta para as variáveis de cadeia
https://site.com/index.php?id=52 'e' x '=' y que retorna resposta falso para as variáveis de cadeia
Palavra deve existir em resposta verdadeira e não deveriam existir em resposta falsa.Por exemplo, se você pode ver 'Olá' palavra em resposta verdadeira e não pôde ver, em resposta falsa (no código-fonte html), 'Olá' é uma palavra boa para usar.
A definição de sintaxe
Em alguns alvos devido à consultas específicas de SQL ou Havij condições não pode injetar automaticamente. Nestes casos, você ainda pode injectar Havij usando a sintaxe manual.
Por exemplo, suponha que você pode injetar em um alvo e ver a versão do SQL Server utilizando a injecção seguinte.
https://site.com/index.php?id=-52 união todos os 1,2 selecionar, @ @ version, 3 -
Para definir a sintaxe em Havij digite o seguinte endereço como "alvo":
https://site.com/index.php?id=52
E, em seguida, marque a opção "Sintaxe" e digite o seguinte na caixa de texto como "Sintaxe":
-52 União todas selecionar 1,2%,% String_Col, 3 -
Importante: nós substituímos @ @ version, que será devolvido na página com%% String_Col
Importante:% String_Col% é case sensitive.
Agora clique em "Analisar" para iniciar a injeção.
A definição de sintaxe para injeções Blind
Em nenhumas cegas injeções de dados selecionadas por consulta não será devolvido na página vulnerável, por isso não é possível extrair dados através de uma injecção de união. Na maioria dos casos, podemos ver duas respostas diferentes, de várias injecções, o que indica uma resposta verdadeira (SQL consulta com os retornos de injeção pelo menos uma linha) e outro indica a resposta falsa (SQL consulta com os retornos de injeção nenhuma linha). Por favor, leia "Definir Palavra-chave" para mais.
Por exemplo, assumir que retorna após injecção verdadeira resposta em alguma página:
https://site.com/index.php?id=52 e 1 = 1
Digite o seguinte URL de destino:
https://site.com/index.php?id=52
E digite a seguinte expressão como a sintaxe:
E 52% True_Expression%
Importante:% True_Expression% é case sensitive.
Se o tipo de variável é string e você pode ver a resposta verdadeira pela injeção seguinte:
https://site.com/index.php?id=52 'e' x '=' x
Digite o seguinte URL de destino:
https://site.com/index.php?id=52
E inserir isso como sintaxe:
52 'e% True_Expression e' x '=' x
Importante: se você definir a sintaxe manual, que é melhor para definir palavras-chave manualmente também (especialmente em injecções de cegos).
Escolhendo o método
É o método HTTP que Havij usa para enviar injeção de destino. Todos os links em páginas HTML, utilizar o método GET e mais de formas de utilizar o método POST.método GET é selecionada por padrão. Se você encontrou injeção em um formulário, você deve usar o método POST.
Injetar em formulários (método POST)
Por exemplo, se você viu o seguinte formulário em uma página e você gostaria de injetar com Havij, siga estes passos:
Primeiro ver o código fonte da página.
Procure <form> tag no código fonte da página.
Digite o valor da ação (login.php) com os insumos como o alvo com o seguinte formato.
https://site.com/login.php?Pass=&submit=Login&name=whatever
Importante: o último parâmetro (nome) será injetada.
Selecione o método POST
Clique em "Analisar" para iniciar a injeção.
Configurações
Ao utilizar "Configurações" no menu superior você pode alterar algumas configurações do Havij.
Importante: para que as configurações entrem em vigor depois de analisar e ao mesmo tempo fazendo injeções, você deve clicar no botão "Aplicar" na janela "Configurações", caso contrário as novas configurações terão efeito com clicar em "Analisar".
Usando Proxy
Para esconder seu IP, enquanto a injeção de um alvo que você pode usar o proxy. Em Proxy'checkbox verifique as configurações de janela e digitar o seu endereço do servidor proxy e porta.
Substituição de caráter espacial
Para contornar alguns filtros que os pedidos de injeção de bloco pode substituir caracteres com espaço +,/**/,. Isso não vai mudar o resultado das injeções, mas podem driblar os filtros de fraco.
Para isso, clique em "espaço Substitua" nas configurações de verificação e selecione ou digite o que você quer ser substituídos por caracteres de espaço nas injeções.
Mostrando Injeções
Havij pode exibir todas injeção que ele faz e você pode abri-los em seu navegador para ver o resultado.
Clique em 'Mostrar Pedidos' na janela de configurações para verificar isso. Todas as injeções serão mostrados na janela de log.
Configurações Avançadas
A autenticação é necessária para a injeção
Em alguns casos é necessário fazer login no site para acessar a página da web vulnerável. Havij pode injetar esses tipos de alvos também. Basta seguir estes passos:
Digite o endereço de página web vulneráveis como "alvo".
Ir para configurações e caixa 'cabeçalhos http adicional »de verificação e clique em' Load Cookie '.
Na nova janela, você pode ver a página web como você a vê no seu navegador (IE), agora o login no site.
Clique em 'Adicionar'.
Definição de conjunto de caracteres usados em injeções cegos
Em injeções cego Havij encontra cada caractere de dados binários por tentativa e erro.Personagens intervalo que usa Havij pode ser alterado. Em configurações definidas seu personagem intervalo ASCII como 'Blind injeção conjunto de caracteres ascii'
Alterar cabeçalhos
Todas as injeções que Havij não são enviados usando o protocolo http. Este protocolo tem um monte de cabeçalhos que você pode ajustá-los manualmente para um exemplo de cabeçalhos comuns é o User-Agent que indica navegadores do usuário.
Em configurações, clique em 'headers http adicionais' para verificá-lo e entrar em qualquer cabeçalho que você deseja.
Para definir o "User-Agent" clique sobre ele e selecione uma no menu.
Evite o uso de strings
Se esta opção estiver marcada Havij vai codificar todas as cordas (literais entre aspas) automaticamente. Isso pode passar pelos filtros como "magic_quotes".Recomenda-se usar esta opção.
Bypass união ilegal
Esta opção é para resolver problema de línguas diferentes da tabela em injeções com o método de união. Recomenda-se usar esta opção.
Tente sintaxes diferentes na injeção união
Se esta opção estiver marcada, Havij tentará encontrar colunas contar com sintaxes diferentes (normal e com parênteses) em injecções de união.
Siga redirecionamentos
Se esta opção estiver marcada, Havij irá procurar resultado injeção na página redirecionada (se o servidor redireciona para outra página).
Contagem de colunas
Você pode definir o número mínimo e máximo das colunas selecionadas Havij que tenta encontrar em injecções de união.
Não se encontra em contagem MsSQL colunas com erro
Se esta opção estiver marcada, Havij não vai tentar encontrar colunas contagem quando o servidor de banco de dados e método de injeção é o Microsoft SQL Server com o método de erro de base. Recomenda-se usar esta opção.
Tradução feita usando o Google tradutor, qualquer erro não foi culpa minha. :)