Як учасник ІТ КПІ капчу ламав.

Маємо не зовсім законну, але круту історію про злам капчі. Не повторюйте цього вдома! (А якщо таки захочете - код в кінці посту)


Якось лазячи в інтернеті я натрапив на сайт, який дозволяв відсилати смс-повідомлення for free. Єдине що засмучувало - там була капча і пару pop-up вікон. Оскільки я мав досвід в керуванні браузером через Selenium і мав певні уявлення про Python, то я вирішив трохи ‘Break Stuff’.



На щастя капча була доволі проста. Озброївшись терпінням і переліком opensource утиліт OCR для Linux я пішов тестувати яка з них найкраще розпізнає цю капчу. Серед двох найкращих (для Linux) Tesseract і Cuneiform я обрав останню, так як вона давала показники 51% вірних розпізнавань на вибірці у 92 капчі, в порівнянні з tesseract 10%.

Що ще цікаво, то для того щоб розпізнати капчу мені довелося скрінити екран (selenium), обрізати область з капчею і лише тоді передавати на паралельний процес для розпізнавання. Проблема з капчею була вирішена.



Залишалось автоматизувати браузер через selenium. Проте проблема полягала в тому, що в браузері нам потрібно було ввести текст в поле яке мало динамічний id і name, тобто при оновленні сторінки воно мало іншу назву і я не міг напряму заповнити поле по його id в selenium.

Проте це легко обходилося, завдяки Regular Expressions, я взнавав id і name поля вводу пошуком по source коду сторінки і тоді передавав параметри в selenium який заповнював поля для тексту, номеру телефону і для капчі.

Таким чином в мене вийшло автоматизувати скрипт який заходить на сторінку, закриває всю “вспливаючу” рекламу, розпізнає капчу (51%), заповнює поля і натискає відіслати. Тепер маю спам смс сервіс :)



P.S: код в моєму Гітхаб-акаунті, і схоже що вони викликали адміна і він забанив мене по IP, проте ну що ж, ввімкну тунелізацію через Tor і продовжу.

Tags: fun