#!usr/bin/perl
#Finder Paths 0.6
#Coded By Doddy H
use LWP::UserAgent;
use URI
::Split qw(uri_split
); use HTML::LinkExtor;
my $nave = LWP::UserAgent->new();
$nave->timeout(5);
$nave->agent(
"Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
);
head();
chomp( my $web = <stdin> );
print "\n\n[+] Scan Type\n\n";
print "\n\n[+] Option : "; chomp( my $op = <stdin> );
print "\n\n[+] Scanning ....\n\n\n";
if ( $op eq "1" ) {
simple($web);
}
elsif ( $op eq "2" ) {
escalar($web);
}
else {
simple($web);
}
copyright();
sub escalar {
my $co = $_[0];
my $code = toma( $_[0] );
my @links = get_links($code);
if ( $code =~ /Index of (.*)/ig ) {
print "[+] Link : $co\n"; savefile( "paths-logs.txt", $co );
my $dir_found = $1;
while ( $code =~ /<a href=\"(.*)\">(.*)<\/a>/ig ) {
my $ruta = $1;
my $nombre = $2;
unless ( $nombre =~ /Parent Directory/ig
or $nombre =~ /Description/ig )
{
push( @encontrados, $_[0] . "/" . $nombre ); }
}
}
for my $com (@links) {
my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $_[0] );
if ( $path =~ /\/(.*)$/ ) {
my $path1 = $1;
$_[0] =~ s/$path1//ig;
my ( $scheme, $auth, $path, $query, $frag ) = uri_split($com);
if ( $path =~ /(.*)\// ) {
my $parche = $1;
unless ( $repetidos =~ /$parche/ ) {
$repetidos .= " " . $parche;
my $yeah = "http://" . $auth . $parche;
escalar($yeah);
}
}
for (@encontrados) {
escalar($_);
}
}
}
}
sub simple {
my $code = toma( $_[0] );
my @links = get_links($code);
for my $com (@links) {
my ( $scheme, $auth, $path, $query, $frag ) = uri_split( $_[0] );
if ( $path =~ /\/(.*)$/ ) {
my $path1 = $1;
$_[0] =~ s/$path1//ig;
my ( $scheme, $auth, $path, $query, $frag ) = uri_split($com);
if ( $path =~ /(.*)\// ) {
my $parche = $1;
unless ( $repetidos =~ /$parche/ ) {
$repetidos .= " " . $parche;
my $code = toma( "http://" . $auth . $parche );
if ( $code =~ /Index of (.*)</ig ) {
my $dir_found = $1;
my $yeah = "http://" . $auth . $parche;
print "[+] Link : $yeah\n"; savefile( "paths-logs.txt", $yeah );
}
}
}
}
}
}
sub toma {
return $nave->get( $_[0] )->content; }
sub get_links {
$test = HTML::LinkExtor->new( \&agarrar )->parse( $_[0] );
sub agarrar {
my ( $a, %b ) = @_;
}
}
sub savefile {
open( SAVE
, ">>" . $_[0] ); }
sub head {
@@@@@ @ @ @@@@@ @
@ @ @ @ @ @
@ @ @ @ @ @
@ @ @ @@ @@@@ @@@ @@ @ @ @@@ @@ @ @@ @@
@@@@ @ @@ @ @ @ @ @ @ @@@@@ @ @ @@ @ @ @
@ @ @ @ @ @ @@@@@ @ @ @@@@ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @@@@ @@@ @ @ @@@@ @ @ @ @@
);
}
sub copyright {
print "\n\n(C) Doddy Hackman 2012\n\n"; <stdin>;
}
# The End ?