sábado, 31 de dezembro de 2011

Cookie de sessão Baseado Sql Injection Tutorial


Injeção de SQL é o ataque mais perigoso para a aplicação web, há um monte de sites diferentes são vulneráveis ​​a injeção de SQL. Há diferentes para injeção de SQL como uma injeção de SQL simples, injeção de SQL cegos e os Cookies base de injeção SQL. Como você sabe a idéia básica sobre cookies e sua importância, os cookies são representam alguns sessão e, normalmente, eles contam no cross site scripting ataque (XSS), mas o que é baseado em cookies de injeção SQL. Neste artigo iremos discutir os cookies ou sessão de ataque de injeção SQL base.


Você disse um "Cookie"?
 
Um cookie, também conhecido como um cookie HTTP, cookie web, browser ou cookie, é usado para um site de origem para enviar informações de estado para o navegador do usuário e para o navegador para retornar as informações de estado para o site de origem. As informações de estado pode ser usado para a identificação de autenticação, de uma sessão do usuário, preferências do usuário, o conteúdo do carrinho de compras, ou qualquer outra coisa que pode ser realizado através de armazenar dados de texto.

Os cookies não são software. Eles não podem ser programadas, não pode carregar vírus e não pode instalar malware no computador host. No entanto, eles podem ser usados ​​por spyware para monitorar atividades de navegação do usuário - uma preocupação de privacidade principais que levaram os legisladores europeus e dos EUA para agir. Os cookies também podem ser roubadas por hackers para obter acesso à conta de uma vítima web. [1]


Onde posso encontrar meu cookies?
 
Aqui está uma maneira de obter os cookies armazenados usando o seu navegador. Este método é aplicado para o Mozilla FireFox:

1.A partir do menu Ferramentas, selecione Opções.
Se a barra de menus estiver oculta, pressione Alt para torná-lo visível.

2.At a parte superior da janela que aparece, clique em Privacidade.
Configurações 3.To modificar, a partir do menu drop-down em "História", selecione Usar configurações personalizadas para a história. Em seguida, habilitar ou desabilitar as configurações marcando ou desmarcando as caixas ao lado de cada configuração:

◦ Para permitir que os sites definam cookies no seu computador, selecione Aceitar cookies de sites. Para especificar quais sites são sempre ou nunca permitido usar cookies, clique em Exceções.
◦ Para aceitar cookies de terceiros, verificar Aceitar cookies de terceiros. No menu drop-down ao lado de "Manter até:", selecione o período de tempo que você deseja manter os cookies em seu computador.
◦ Para ver os cookies armazenados em seu computador, clique em Mostrar cookies .... Na janela que aparece, você pode ver os cookies no seu computador, procure cookies, e remover alguns ou todos os cookies listados.
◦ Para especificar como o browser deve limpar os dados privados que ele armazena, verifique Limpar histórico quando o Firefox é fechado. Então, clique em Configurações .... Você pode especificar os itens a ser limpo quando você fechar o Firefox.

4.Clique em OK até retornar à janela do Firefox.
Para remover todos os cookies, a partir do menu Ferramentas, selecione Limpar história recente .... Verifique os itens que deseja limpar e clique em Limpar agora. 

 

Você está falando de um Cookie Poisoning-como ataque?
 
Ataques de envenenamento de cookies envolvem a modificação do conteúdo de um cookie (informações pessoais armazenadas no computador de um usuário Web), a fim de contornar os mecanismos de segurança. Usando ataques de envenenamento de cookie, os atacantes podem obter informações não autorizadas sobre outro usuário e roubar sua identidade.

Envenenamento cookie é uma técnica conhecida principalmente para alcançar a representação e violação da privacidade através da manipulação de cookies de sessão, que mantêm a identidade do cliente. Forjando esses cookies, um atacante pode representar um cliente válido, e, assim, obter informações e executar ações em nome da vítima. A capacidade de forjar tais cookies de sessão (ou, mais geralmente, tokens de sessão) decorre do fato de que os tokens não são gerados de forma segura. [4]

Em suma, baseada em cookie SQL Injection está longe de ser uma espécie de envenenamento Cookie. 

 

Variáveis ​​cookie como um vetor de injeções SQL:
Resumo de injeção SQL
Um ataque de injeção SQL consiste em inserção ou "injeção" de uma consulta SQL através de dados de entrada do cliente para a aplicação. A exploração bem sucedida de injeção SQL pode ler dados sigilosos do banco de dados, modificar dados do banco de dados (Insert / Update / Delete), execute operações de administração do banco de dados (como desligar o DBMS), recuperar o conteúdo de um determinado arquivo presente no arquivo DBMS sistema de comandos e, em alguns casos questão para o sistema operacional. Ataques de injeção SQL são um tipo de ataque de injeção, em que os comandos SQL são injetados plano de dados de entrada a fim de efetuar a execução de comandos SQL pré-definidos.

Todos os dados enviados pelo navegador para um aplicativo da Web, se usado em uma consulta SQL, pode ser manipulada, a fim de injetar código SQL: GET e POST parâmetros, cookies e outros cabeçalhos HTTP. Alguns destes valores podem ser encontrados nas variáveis ​​de ambiente. Os parâmetros GET e POST são normalmente inseridos em formulários HTML, que pode conter campos ocultos, ou seja, informações que está em forma, mas não é mostrado. GET parâmetros estão contidos nos parâmetros URL e POST são passados ​​como conteúdo HTTP. Hoje em dia, e com o crescimento das tecnologias da Web 2.0, as solicitações GET e POST também pode ser gerado por JavaScript.

Injetar códigos maliciosos no cookie:

 
Ao contrário de outros parâmetros, os cookies não são supostamente para serem manobrados pelos utentes. Fora de cookies de sessão que são (em geral) aleatória, cookies podem conter dados em informação clara ou codificados em hexadecimal, base64, hashes (MD5, SHA1), serializado. Se pudermos determinar a codificação usada, vamos tentar injetar comandos SQL.

is_user função ($ user) {

prefixo global $, $ db, $ user_prefix;

if (! is_array ($ user)) {

$ User = base64_decode ($ user);

$ User = explode (":", $ user);

$ Uid = "user $ [0]";

$ Pwd = "$ user [2]";

Else {}

$ Uid = "user $ [0]";

$ Pwd = "$ user [2]";

}

if ($ uid! = "" AND $ pwd! = "") {

$ Sql = "SELECT FROM user_password" $ user_prefix "_users ONDE user_id = '$ uid'"..;

$ Result = $ db-> sql_query ($ sql);

$ Row = $ db-> sql_fetchrow ($ result);

$ Pass = $ row [user_password];

if ($ pass == $ pwd & & $ pass! = "") {

return 1;

}

}

return 0;

}
O cookie contém base64 identificador de forma codificada, um campo que é desconhecido e uma senha. Se usarmos como minhasenha um cookie 12.345 'UNION SELECT' ':: base64 mypass codificado, a consulta SQL é:

  SELECIONE user_password DE ONDE nk_users user_id minhasenha = '12345 'UNION SELECT' "

Essa consulta retorna o mypass senha, a mesma senha que temos para oferecer. Então, nós estamos conectados.

Como injetar o código em Cookies?

 
Há muitos HTTP interceptores e editores HTTP que podem interceptar a solicitação HTTP antes de ser enviado para o servidor. Em seguida, o testador pode apresentar sua declaração SQL malicioso no campo cookie.

É como uma injeção de SQL get / post com base, exceto que determinados caracteres não podem ser usados. Para
exemplo, ';' e ',' normalmente são tratados como delimitadores, e acabam
a injeção se não forem URL-codificado.


Conclusão
Variáveis ​​de cookies, por vezes não são devidamente higienizados antes de serem usados ​​na consulta SQL. Isto pode ser usado para ignorar a autenticação ou fazer qualquer consulta SQL através da injeção de código SQL arbitrário. Para as auditorias de aplicações web, as variáveis ​​de cookie deve ser adicionado à lista de parâmetros a serem verificados.


3 comentários:

Anônimo disse...

EU SOU UM COOKIE DO MAL HAHAHAHAHAH

Anônimo disse...

EU SOU UM COOKIE DO BEM :D

COOKIE DO LADO NEUTRO disse...

PARA ONDE VOU DEUS?

Postar um comentário

 

SECURITY MASTER Copyright © 2011 -- Template created by Security Master -- Powered by Blogger