Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[Paper] MySQL Injection

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial [Paper] MySQL Injection

    cchar_font[[black*

    ################################################

    Explorando a falha MySQL em sites

    writting by dwango

    ################################################


    Sumário:

    [ ---0 Introdução

    [ ---1 Identificação da Vulnerabilidade

    [ ---2 Injeção



    0- MySQL Injection é uma das vulnerabilidades mais comuns em sites atualmente. Ela permite o atacante executar consultas ao banco de dados inserindo querys na URL e assim pegando dados confidenciais.



    Vou utilizar exemplos fictícios aqui e lembrando que a fonte é somente para estudo. Nunca pratique isso pois é crime!



    [[[]]]



    1- Vamos supor que o link abaixo é de um site de notícias e você está tentando descobrir alguma vulnerabilidade nele.



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...



    O link acima estaria normal sem nenhuma modificação. Você não tem nenhum scanner e quer descobrir se existe algo de incomum. Faça o seguinte:



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...



    Acrescente uma aspas simples no final. Se a página aparecer sem nenhuma anormalidade é porque não está vulnerável caso contrário apareça algum erro...



    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the...”



    2- Agora partiremos para a parte interessante. A injeção! Para continuar com o obtenção de dados precisamos identifcar quantas tabelas/colunas existem no banco de dados. Para isso acrescentamos o seguinte comando ao final da URL:



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... order by 1



    Neste exemplo queremos saber se a tabela/coluna número 1 é existente. Se aparecer algum erro na página ela não existe caso contrário ela existe e teremos que dar continuidade ao processo. Façam:



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... order by 1,2



    E assim por diante até encontrarem um erro. Vamos supor que o erro está na tabela/coluna 5 então só existem 4 colunas no banco de dados.



    Agora que descobrimos as tabelas/colunas vamos junta-las para obter as informações. Mudaremos de comando..



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... union all select 1,2,3,4



    Quando apertado enter o site modificará a página e aparecerá um número entre os que você colocou(1,2,3,4). Supondo que o número que apareceu foi o 2, modifique a URL da maneira abaixo para saber a versão do banco de dados.



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... union all select 1,@@version,3,4



    Caso o site não aceitar aparecerá um erro.



    "union + illegal mix of collations (IMPLICIT + COERCIBLE) ..."



    Para “ageitar” esse erro você terá que utilizar uma função chamada convert.



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... union all select 1,convert(@@version using latin1),3,4/



    Depois da descoberta teremos que agora descobrir o nome da tabela/coluna e o dado contido dentro dela. Passarei uma mini-lista contendo os nomes mais utilizados:



    user, usuario, admin, member, membro, password, passwd, pwd, user_name



    Vamos tentar descobrir o nome e o que contém dentro; Modificando:



    (** ] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... union all select 1,2,3,4 from admin



    Aqui no exemplo tentamos o nome admin. Se der certo aparecerá a página normalmente com um ou mais números. Caso não, aparecerá erros.

    Se o número que apareceu foi “2 e 4” modifique o link tentando colocar palavras como “usuário, username, user, usr..” & “senha, psw, password..”.



    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... union all select 1,user,3,psw from admin



    Assim aparecerá o login e senha do administrador então depois é so achar a área de login e ser feliz.



    (A técnica utilizada aqui não foi a avançada. Espero que gostem.)



    Zona101.com & Guiadohacker.com.br
X
Working...
X