• XSS.stack #1 – первый литературный журнал от юзеров форума

Python, брут веба. Прошу совета

Raskolnikov

RAID-массив
Пользователь
Регистрация
17.01.2019
Сообщения
79
Реакции
20
Софт многопоточный с решением каптчи, проблема следующая:
При бруте я получаю само изоображение каптчи и её хеш, функция работает так: парсим хеш, парсим url картинки и отправляем на решение.
Но происходит так что, несколько потоков получают одну и туже картинку.НО хеш и ссылки РАЗНЫЕ, т.е разные ссылки, но картинка одна и та же(я залогировал ссылки и перешёл по ним в браузере, точно убедился, что сервер отдаёт одну и ту же картинку по разным ссылкам). Когда один из потоков решает каптчу, то для других она становиться уже невалидной и остальные потоки получают ответ неверной каптчи.

Какую проверку можно организовать, чтобы потоки знали что эта картинка уже отправлена и не стоит её трогать?(Можно без примеров кода)

У меня единственная идея, это организовать поток в котором будет список и все отправленные каптчи будут висеть секунду 20-30 в этом списке, затем будут удаляться. Ну а потоки, которые брутят будут спрашивать о наличии картинки в списке.
 
несколько потоков получают одну и туже картинку.НО хеш и ссылки РАЗНЫЕ,
Разберись с работой капчи. Попробуй исходники поискать по характерным URL и прочим признакам.
поток в котором будет список и все отправленные каптчи
Храни все увиденные, но еще не решенные капчи. Бот пусть проверяет, есть ли его капча в этом списке. Если да, то это значит, что капчу решает другой бот, и надо обождать и запросить новую капчу.

Ну и нельзя не отметить, что многопоточное программирование, если речь о POSIX-тредах, сложнее, чем ты себе представляешь. Пользуйся примитивами конкурентности твоего языка.

РАСКОЛ ВСТАВАЙ
 
Храни все увиденные, но еще не решенные капчи. Бот пусть проверяет, есть ли его капча в этом списке. Если да, то это значит, что капчу решает другой бот, и надо обождать и запросить новую капчу.
Спасибо, сделаю так

POSIX-тредах
Это что-то новенькое для меня, пойду читать

РАСКОЛ ВСТАВАЙ
???
 
Скорее всего, там очередь заранее сгенереных капч. Иначе бы ты не смог получить на разных сессиях одно и то же изображение.
 
есть такие старые(самопальные) виды каптч, которые ты можешь обновлять, получать хэш, распознавать и отдавать. По прикидкам, в среднем, работают они в течении 5 минут. Чтобы в потоках небыло выборки одной и тойже капчи, юзай safe-thread очередь Queue.
Идея такая - запускаешь перед стартом основного алгоритма (логин, например) разгадывание каптч в отдельном треде. Помещаешь их в очередь, и в воркерах (потоках) забираешь из очереди. Чтобы небыло задержки в потоках, разгадывай для старта кол. воркеров x2.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх