• Earn real money by being active: Hello Guest, earn real money by simply being active on the forum — post quality content, get reactions, and help the community. Once you reach the minimum credit amount, you’ll be able to withdraw your balance directly. Learn how it works.

Perl [Perl] DH ViewBot 0.2

Status
Not open for further replies.

Kaway

Banned
User
Joined
Aug 7, 2014
Messages
720
Reputation
0
Reaction score
5,766
Points
243
Credits
0
‎10 Years of Service‎
15%
Please note, if you want to make a deal with this user, that it is blocked.
Un simple script que sirve como bot para hacer visitas con las siguientes opciones :

[+] Visitar una sola pagina

[+] Visitar paginas en un archivo marcado de forma ordenada

[+] Visitar paginas en un archivo marcado de forma aleatoria

[+] Opciones para timeout y cantidad de visitas

Código.

[HIDE-THANKS]

Code:
>#!usr/bin/perl
#DH ViewBot 0.2
#(C) Doddy Hackman 2015

use Getopt::Long;
use LWP::UserAgent;
use URI::Split qw(uri_split);
use IO::Socket;

my @agents = (
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0',
   'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36',
'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0',
'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1',
   'Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))',
'Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr-TR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27'
);

GetOptions(
   "single=s"     => \$single_opt,
   "file=s"       => \$file_opt,
   "randomfile=s" => \$randomfile_opt,
   "timeout=i"    => \$timeout_opt,
   "count=i"      => \$count_opt
);

head();

if ( $single_opt or $file_opt or $randomfile_opt ) {

   my $page = $single_opt;

   my $timeout = "";

   if ( $timeout_opt eq "" ) {
       $timeout = "5";
   }
   else {
       $timeout = $timeout_opt;
   }

   my $count = "";

   if ( $count_opt eq "" ) {
       $count = "10";
   }
   else {
       $count = $count_opt;
   }

   if ( $single_opt ne "" ) {

       my $page = $single_opt;

       print "\n[+] Configuration\n";

       print "\n--------------------------------------------------";
       print "\n[+] Page : " . $page . "\n";
       print "[+] Timeout : " . $timeout . "\n";
       print "[+] Visit Count  : " . $count . "\n";
       print "--------------------------------------------------";

       visitar( $page, $timeout, $count, "single" );

   }

   elsif ( $randomfile_opt ne "" ) {

       visitar_random( $randomfile_opt, $timeout, $count );

   }
   elsif ( $file_opt ne "" ) {

       if ( $file_opt ne "" ) {

           unless ( -f $file_opt ) {
               print "\n[-] File not exist\n";
               copyright();
               exit(1);
           }

           print "\n" . toma_fecha_y_hora("Started");

           my @paginas = repes( leer_archivo($file_opt) );

           for my $page (@paginas) {

               chomp $page;

               print "\n--------------------------------------------------";
               print "\n[+] Page : " . $page . "\n";
               print "[+] Timeout : " . $timeout . "\n";
               print "[+] Visit Count : " . $count . "\n";
               print "--------------------------------------------------";

               visitar( $page, $timeout, $count, "file" );

           }

           print "\n" . toma_fecha_y_hora("Finished");

       }
       else {
           print "\n[-] Option not selected\n";
           exit(1);
       }

   }

}
else {
   print qq(
[+] Options :

-single : Page to visit
-file : File with pages to visit
-randomfile : File with pages to visit as random
-timeout : Time for visit
-count : Count to visist

);
   print
"[+] Example : perl $0 -single http://www.supertangas.com/index.php -timeout 5 -count 50\n";
}
copyright();

# Functions

sub head {
   print "\n-- == DH ViewBot 0.2 == --\n";
}

sub copyright {
   print "\n-- == (C) Doddy Hackman 2015 == --\n";
}

sub visitar_random {

   my ( $file, $timeout, $count ) = @_;

   my @paginas     = repes( leer_archivo($file) );
   my $total_bueno = "";
   my $total_malo  = "";

   print "\n" . toma_fecha_y_hora("Started");

   for ( 1 .. $count ) {
       my $target = $paginas[ rand(@paginas) ];
       chomp $target;
       print "\n--------------------------------------------------";
       print "\n[+] Page : " . $target . "\n";
       print "[+] Timeout : " . $timeout . "\n";
       print "--------------------------------------------------";

       print "\n\n[+] Getting information ...\n\n";

       print toma_banner($target) . "\n";

       my ( $status, $control ) = toma_response($target);

       if ( $control eq "1" ) {
           $total_bueno++;
       }
       else {
           $total_malo++;
       }

       print "\n[+] Visit $_ : $target : " . $status . "\n";

       sleep($timeout);

   }

   print "\n[+] Successful Visits : " . $total_bueno . "\n";

   print "\n" . toma_fecha_y_hora("Finished");

}

sub visitar {

   my ( $page, $timeout, $count, $type ) = @_;

   print "\n\n[+] Getting information ...\n\n";

   print toma_banner($page);

   if ( $type eq "single" ) {
       print "\n\n" . toma_fecha_y_hora("Started") . "\n";
   }
   else {
       print "\n\n" . "[+] Working ..." . "\n\n";
   }

   my $total_bueno = "";
   my $total_malo  = "";

   for ( 1 .. $count ) {

       sleep($timeout);

       my ( $status, $control ) = toma_response($page);

       if ( $control eq "1" ) {
           $total_bueno++;
       }
       else {
           $total_malo++;
       }

       syswrite STDOUT, "[+] Visit $_ : $page : " . $status . "\r";

   }

   syswrite STDOUT,
     "[+] Successful Visits : " . $total_bueno . "\t\t\t\t\t\t\t\t\t\t\r";

   if ( $type eq "single" ) {
       print "\n" . toma_fecha_y_hora("Finished");
   }
   else {
       print "\n" . "[+] Finished\n";
   }

}

sub toma_response {
   my $control = "";
   my $nave    = LWP::UserAgent->new();
   $nave->agent( $agents[ rand @agents ] );
   $nave->timeout(5);
   my $code = $nave->get( $_[0] );
   if ( $code->is_success ) {
       $control = "1";
   }
   else {
       $control = "0";
   }
   my $status = $code->status_line();
   return ( $status, $control );
}

sub toma_banner {
   my $resultado = "";
   my $nave      = LWP::UserAgent->new();
   $nave->agent( $agents[ rand @agents ] );
   $nave->timeout(5);
   my $code = $nave->get( $_[0] );
   $resultado = $resultado
     . "--------------------------------------------------------------------------";
   $resultado = $resultado . "\n[+] IP : " . get_ip( $_[0] );
   $resultado = $resultado . "\n[+] Date : " . $code->header('date');
   $resultado = $resultado . "\n[+] Server : " . $code->header('server');
   $resultado =
     $resultado . "\n[+] Connection : " . $code->header('connection');
   $resultado =
     $resultado . "\n[+] Content-Type : " . $code->header('content-type');

   if ( $code->header("Set-Cookie") ne "" ) {
       $resultado =
         $resultado . "\n[+] Cookie : " . $code->header("Set-Cookie");
   }
   $resultado = $resultado
     . "\n--------------------------------------------------------------------------";
   return $resultado;
}

sub get_ip {
   my ( $nomesirve1, $host, $nomesirve2, $nomesirve3, $nomesirve4 ) =
     uri_split( $_[0] );
   my $get = gethostbyname($host);
   return inet_ntoa($get);
}

sub toma_fecha_y_hora {

   my (
       $segundos, $minutos,    $hora,       $dia, $mes,
       $anio,     $nomesirve1, $nomesirve2, $nomesirve3
   ) = localtime(time);

   $anio += 1900;
   $mes++;

   return "[+] $_[0] Time : " . "$dia/$mes/$anio $hora:$minutos:$segundos\n";

}

sub repes {
   my @limpio;
   foreach $test (@_) {
       push @limpio, $test unless $repe{$test}++;
   }
   return @limpio;
}

sub leer_archivo {
   my @r;
   my @words;
   open( FILE, $_[0] );
   @words = ;
   close FILE;
   for (@words) {
       push( @r, $_ );
   }
   return (@r);
}

#The End ?


Un ejemplo de uso :

Code:
>-randomfile : File with pages to visit as random
-timeout : Time for visit
-count : Count to visist

[+] Example : perl C:\Users\Doddy\Desktop\WarFactory\Warfactory X\perl\DH ViewBo
t\view.pl -single http://www.supertangas.com/index.php -timeout 5 -count 50

-- == (C) Doddy Hackman 2015 == --

C:\Users\Doddy\Desktop\WarFactory\Warfactory X\perl\DH ViewBot>view.pl -single h
ttp://www.petardas.com/index.php -timeout 5 -count 5

-- == DH ViewBot 0.2 == --

[+] Configuration

--------------------------------------------------
[+] Page : http://www.petardas.com/index.php
[+] Timeout : 5
[+] Visit Count  : 5
--------------------------------------------------

[+] Getting information ...

--------------------------------------------------------------------------
[+] IP : 5.135.178.142
[+] Date : Fri, 2 Jan 2015 16:44:10 GMT
[+] Server : Apache/2.2.3 (CentOS)
[+] Connection : close
[+] Content-Type : text/html; charset=latin1
[+] Cookie : pais=AR; expires=Sat, 07-Feb-2015 16:44:10 GMT; path=/; domain=www.
petardas.com, cookieconsent=1; expires=Sat, 07-Feb-2015 16:44:10 GMT; path=/; do
main=www.petardas.com, esmovil=0; expires=Mon, 2-Jan-2015 00:17:30 GMT; path=/;
domain=www.petardas.com
--------------------------------------------------------------------------

[+] Started Time : 2/1/2015 13:44:31

[+] Successful Visits : 5

[+] Finished Time : 2/1/2015 13:45:2

-- == (C) Doddy Hackman 2015 == --
[/HIDE-THANKS]




 
Status
Not open for further replies.
Back
Top