Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Наш сегодняшний подопытный, портал http://mts.ua
, раньше принадлежал «МТС Украина». Эту контору выкупил Vodafone. Есть на этом сайте и форма отправки SMS.
Защищена она цифровой CAPTCHA из четырех символов. Стоит отметить, что форма позволяет отправлять SMS только клиентам Vodafone с префиксами номеров:
+38050
+38066
+38095
+38099
Теперь посмотрим?на саму CAPTCHA. Как видишь, цифры вполне различимы. Они имеют красный цвет, но их верх обрезан, и расположены они очень близко друг к другу.
А теперь приглядимся более внимательно к той части скрипта, которая отображает CAPTCHA. Если мы сформируем ссылку
http://www.mts.ua/?r=site/captcha&v=5981aff096f17&widgetId=messager&width=115&height=42&backColor=0xffffff&foreColor=0xff0000
то?увидим CAPTCHA с высотой 42 пикселя и 115 пикселей шириной. Изменив значения на 242 и 315, мы получим удивительный результат: обрезанный верх цифр уйдет и расстояние между символами увеличится.
При отправке SMS скрипту http://www.mts.ua/ru/online-services/send-sms/
через метод POST передаются следующие параметры:
YII_CSRF_TOKEN
— это CSRF-токен, который нужно прочитать из HTML один раз при подготовке рассылки;widgetId:'messager'
— это?стандартное значение, оно не меняется;MessageForm[network]:'38050'
— из значения ясно, что это мобильная сеть;MessageForm[phone]:'123-45-67'
— номер телефона, куда отправляем SMS;MessageForm[encoding]:'cyrilic'
— кодировка сообщения, можно менять;MessageForm[is_translit]:'0'
— транслитерация (0 — выключена, 1 — включена);MessageForm[message]:'Привет 123'
— сам текст сообщения;MessageForm[verifyCode]:'4444'
— распознанная CAPTCHA.Также не стоит забывать, что нужно хранить cookies! В дальнейшем мы к этому вернемся.
Попробуем разработать SMS-бомбер — скрипт, который будет рассылать через?гейт множество однотипных SMS-сообщений. Разрабатывать будем на Python 2.x, также нам понадобятся модули requests, pytesseract, Image.
Скрипт мы будем разрабатывать под Windows, с чем и связаны особенности установки Tesseract и настройки путей.
В самом начале мы получаем CSRF-токен:
def get_csrf():
xhtml=get_url("http://www.mts.ua/ru/online-services/send-sms/",1)
xs=xhtml.find("var csrfToken = '")
xl=len("var csrfToken = '")
csrf_=xhtml[xs+xl:xs+xl+40]
return csrf_
Функция очевидная — обычный поиск текста. CSRF-токен получаем всего один раз?за всю рассылку.
Теперь нужно получить CAPTCHA и распознать ее. Для этого мы будем использовать Tesseract. Вначале нужно установить саму программу и модуль Python к ней. Полный исходный код функции можно посмотреть в скрипте, который я приведу в конце статьи.
|
|