Уведомления

Группа в Telegram: @pythonsu

#1 Июль 9, 2009 10:05:27

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

привет всем. я решил написать скудненький клиент для одной cms. там используется капча при добавлении комментариев. поскольку приложение с gui, то я решил сделать просто капчу и рядом текстовое поле для ввода кода в него. но проблема в том, как отправить ее туда. я сделал просто загрузку капчи и затем отправление. но когда я отправляю ее, то серверу уже нужна другая капча. как можно показать и отправить капчу “в пределах одной сессии”?

спасибо.



Отредактировано (Июль 9, 2009 10:05:45)

Офлайн

#2 Июль 9, 2009 10:22:33

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

обход капчи

Там наверное сессия на куках используется, так что их тоже надо сохранять и отправлять



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Июль 9, 2009 13:46:05

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

Я тоже об это думал, но не додумался как :)
Пока у меня скрипт работает так:

1. Загружается капча. Напрямую по URL изображения капчи (php-скрипт генерации).
2. Отправляю POST-запрос на скрипт обработки вместе с кодом капчи.

CMS ругается, что код неправильный.



Офлайн

#4 Июль 9, 2009 17:40:09

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

обход капчи

1. Возможно, это не правильно и нужно, всё же, загружать страницу. Не исключено, что в форме есть еще значимые (скрытые) поля.

..bw



Офлайн

#5 Июль 9, 2009 18:02:04

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

Скрытых полей нет. Только капча и поле ввода + кнопка для отправки.



Офлайн

#6 Июль 9, 2009 20:02:42

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

Погуглил, используется скрипт solmetra.com



Офлайн

#7 Июль 10, 2009 01:46:40

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

обход капчи

Неплохо про устройство капчи написано вот здесь, может полезно будет.



Офлайн

#8 Июль 10, 2009 03:28:20

Psixo
От:
Зарегистрирован: 2007-09-12
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

Снифер в руки и смотри запросы браузера,сравнивай с тем что сам отправляешь.



Офлайн

#9 Июль 10, 2009 10:17:18

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

спасибо, почитал.

Но так и не смог :( При логине на сайт в куки сажается сесиия. Я ее смог отловить следующим кодом:

cookiejar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
data = urllib.urlencode({'user': 'user', 'password': 'password'})
url = opener.open('http://www.example.com/login.php', data)
print cookiejar
Как я понял теперь мне нужно именно с этими кукисами открыть капчу и отправить код капчи на обработку?
Подгружаю изображение я следующим способом:
file = urllib.urlretrieve(u'http://www.example/captcha.php')
image = wx.Image(file[0]).ConvertToBitmap()
return image
А затем пихаю ее в wx.StaticBitmap.
Как мне в таком случае открыть капчу с моей сессией?



Отредактировано (Июль 10, 2009 10:18:36)

Офлайн

#10 Июль 10, 2009 14:54:22

anyNeT
От:
Зарегистрирован: 2009-05-11
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

обход капчи

а как можно подцепить хедеры (с кукисами) при file = urllib.urlretrieve(u'http://www.example/captcha.php')?



Отредактировано (Июль 10, 2009 14:56:58)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version