РЭДЛАЙН
Лучшие решения для Вас и Вашего бизнеса!
На нашем сайте вы можете получить информацию о веб-разработке, обслуживании и продвижении сайта. Интернет-маркетинге. SEO (поисковой оптимизации). Контекстной и медийной рекламе в Интернете. SMM. Регистрации доменов и хостинговых услугах. И современном дизайне сайтов. Вообщем того что касается веб-разработки, а также много другой полезной информации из мира интернета, бизнеса и интернет-технологий...
Создаем доступные и современные сайты, которые работают! Обслуживаем и эффективно продвигаем интернет-проекты с 2006 года!
Главная Юзабилити Второй раз повторяю: я человек! CAPTCHA


Второй раз повторяю: я человек! CAPTCHA

1. Краткий обзор

Интернет-роботы или как их чаще называют боты, это программы созданные для автоматизированного выполнения некоторых функций в сети. В зависимости от их предназначения, цель работы таких программ тоже разная. Но объединяет роботов одно – избавить человека от выполнения однообразной рутинной работы. Казалось бы, в этом нет ничего зазорного. Бизнесмен, получающий на электронную почту самые свежие новости с огромного количества сайтов или роботы-поисковики, не должны приносить вред мировому сообществу. Но часто цель функционирования таких систем совершенно иная, кроме этого даже выше описанные задачи могут расцениваться негативно. Ведь если человек получает последние сводки новостей с помощью бота, он так и не увидит рекламного баннера, за показ которого владельцы сайта, возможно, получают деньги. Робот-поисковик, при определенных условиях может наткнуться на информацию, публичный доступ к которой крайне нежелателен (вспомнить хотя бы “Google Hacking”). Но это все крайности. Чаще всего, автоматизация – удел людей преследующих далеко не самые благие цели.

За примерами далеко ходить не стоит. Активно растущий уровень спама, очень сильно зависит от работы таких программ как сборщики почты (для пополнения базы адресов), автоматических регистраций почтовых ящиков (которые потом используются для рассылки). Роботы могут использоваться для «замусоривания» форумов, чатов, живых журналов; они могут заниматься рассылкой SMS через Web-интерфейсы, писать письма, участвовать в голосованиях, подбирать пароли и т.д. Все это приводит или к затруднительности получения искомой информации пользователем, или к более эффективной работе злоумышленников. Такое положение дел заставило людей, занимающихся компьютерной безопасностью, вплотную задуматься о способах решения этой проблемы, а хакеров, в свою очередь, о способах их обхода.

Изображение, содержащее цифры или слова, и просьба ввести их с клавиатуры…. Большое количество пользователей не понимают предназначения этой процедуры, многие создатели ботов не задерживаются долго на таких сайтах, но некоторых это не останавливает. Данная статья написана для того, чтобы разобраться с положением дел на этом фронте. И понять, действительно ли защищают нас от такого рода систем.

2. Компьютер или человек


Для определения действительно ли посетитель сайта является человеком или это программа, ему предстоит решить задачу, простую для человека, но не решаемую (а точнее тяжело решаемую) для компьютера. Такого рода задачи называются CAPTCHA.

CAPTCHA – это акроним, от выражения “Computer Aided Public Turing test to tell Computers and Humans Apart”. Собственно говоря, это Тест Тьюринга для различения человека от программы. Иногда CAPTCHA называют обратным тестом Тьюринга (Боле подробную формулировку этого понятия можно найти на Wikipedia).

Понятие Теста Тьюринга было введено Аланом М. Тьюрингом (1912-1954 гг.) в его работе “игра имитации”. Задача такого теста определить обладает компьютерная программа интеллектом, или точнее может ли она выдавать себя за человека. Критерий Тьюринга описан в виде игры “Имитация”. Суть игры заключается в том, что берется один мужчина, одна женщина и программа. Последняя, в свою очередь, не имея информации, о поле двух остальных участников, задает им вопросы. Цель программы – определить пол людей. Несмотря на критику этой теории, она внесла большой вклад в развитие систем искусственного интеллекта и философии, а в наше время еще нашла применение в борьбе с автоматизированным программным обеспечением.

На сегодняшний момент CAPTCHA можно встретить практически везде: при регистрации, авторизации, отправке сообщений, запросе какой-либо информации и т.д. Везде где может быть выгодной автоматизация, в том числе и нанесение ущерба владельцам Интернет сервисов или их клиентам.


Рис. 1. Для получения паспорта Microsoft .NET,

также требуется пройти CAPTCHA тест.

CAPTCHA может быть реализована различными способами. Иногда требуется ввести не одно слово, а несколько. Встречаются также задания, где надо найти общий элемент, присутствующий на 4-х изображениях или сказать о содержимом искаженного рисунка. Для людей с плохим зрением существуют звуковые тесты или задачи, требующие логического мышления.




Рис. 2. CAPTCHA тесты бывают разными и носят разные названия

их объединяет только общая цель.


3. Вопрос безопасности


Интересно, что “CAPTCHA Project”, будучи пионером, в данной области, дали название течению, первоначальная цель которого остановить спам. Так и фирма “Spam”, первой начала практику массовой рассылки и тоже со временем определила название для “не желаемой корреспонденции рекламного характера” (хотя вообще то, тест получил название в 2000 году благодаря университету Carnegie Mellon и компании IBM, но именно этот проект был самым первым). На данный момент уже существует большой выбор среди производителей CAPTCHA. Этим занимаются, как и гиганты на рынке программного обеспечения, так и отдельные программисты. Соответственно, от квалификации производителя напрямую зависит, насколько легко можно обойти тест. В дополнение, CAPTCHA требует правильного внедрения. Часто очень хорошего качества тест, оказывается, легко обойти из-за того, что он используется без соблюдения политики безопасности.

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

3.1. Уязвимости программного обеспечения


Так всегда, если есть приложение, наверняка найдется пара-тройка уязвимостей. Нет, о переполнении буфера при прохождении теста мы говорить не будем. Хотя возможно и такие случаи встречаются. Начнем, пожалуй, с подбора контрольной информации.

3.1.1. Перебор вариантов и предугадывание результатов


Предугадывание результатов предполагает, что нам известно, какая информация напрямую влияет на генерацию CAPTCHA. Получить ее можно в двух случаях: уязвимый проект предоставляется в открытом исходном коде или она была получена с помощью эвристического анализа (определенное количество тестов, со всеми вытекающими). Такой информацией может быть наш IP адрес, время и знания об используемом генераторе случайных чисел. Последнее, не должно особо вас смущать, ибо для предсказывания псевдослучайных чисел существует огромное количество программ (Боле детально про эту тему вы можете прочитать в работе “Старый взгляд на новые вещи”). Ваша задача, в конце концов, сводится к поискам формулы, по которой создается тест. Но оставим этот способ для людей, должным образом владеющих математическим анализом, и перейдем к перебору.

Перебор возможных вариантов ответа, в принципе, работоспособный прием. Полным перебором можно воспользоваться, если ПО на сервере, неграмотно работает с сессией. Примером может служить движок vBulletin. Но о нем мы поговорим немножко позже, а пока только определим какие условия, являются необходимыми для подбора. Их всего два, более того это скорее зависимость коэффициентов:

1. Чем больше время существования сессии
2. Чем меньше набор символов CAPTCHA или их количество

Если сессия существует “от сабмита до сабмита”, перебор невозможен. В тоже время, когда тест требует ввести 10 символов, среди которых буквы, цифры и разные другие символы, вероятность успеха резко стремится к нулю. Практически всегда, использование перебора, требует манипуляции сессионной информацией. Поскольку, написание переборщика выходит за рамки этой статьи, а манипулирование сессий чаще всего дает и другие результаты, можно не рассматривать перебор более детально. Стоит упомянуть, что для некоторых тестов подходит перебор по словарю, а это более эффективно по сравнению с полным перебором.

3.1.2. Использование несуществующих сессий


Сессии – корень зла. Это утверждение, чаще других оказывается истинным. Поскольку цель статьи показать простоту решений, я буду стараться везде, где это только возможно, приводить примеры. На этот раз под прицел попал сайт www.umc.ua. Это страничка Украинского мобильного оператора UMC.


Рис. 3. Для отправки SMS сообщения из Интернет, пользователю

придется доказать что он человек а не программа

На этом сайте есть интерфейс для отправки SMS сообщений. Как и большинство операций такого рода, она требует пройти тест “вопрос-ответ” (CAPTCHA). Чтобы начать анализ и эксплуатирование данного сервиса, сперва, следует убрать все не нужное из HTML кода.


Рис. 4. Убрав все не нужное, видно, что работа CAPTCHA

основана на PHP сессии.

Взгляните на строки 3 и 6. Легко увидеть, что форма содержит скрытое поле с идентификатором сессии (строка 3) и изображение, сгенерированное специально для этой сессии (строка 6). В принципе, сама по себе, такая конструкция, не представляет никакой опасности. Но это только на первый взгляд, ее интересные особенности могут проявиться после определенных тестов. В данном случае, если в качестве идентификатора сессии (PHPSESSID) указать все нули, а поле для ответа на CAPTCHA оставить пустым, сообщение все равно посылается успешно. В чем дело? Такое могло произойти только тогда, когда при выборке данных из SQL, не проверяется количество полученных результатов (функция mysql_num_rows). Поэтому, фрагмент программы отправки сообщений может выглядеть как на рис.5.



Рис. 5. Псевдокод для проверки CAPTCHA

Логика эксплуатирования достаточно проста. Все значения PHPSESSID в HTML форме - зануляются. После чего, сгенерированное сервером изображение, окажется пустым! Не долго думая, поле возле рисунка (туда, по идее, следует ввести цифры), оставляем пустым. И вот что происходит после отправки формы:

1. Для несуществующего изображения в базе данных нет правильного ответа.
2. Отсутствие правильно ответа в базе приводит к тому, что он равен пустой строке.
3. Поле формы – “anti”, отвечающее за наш ответ, тоже пустое.
4. Сравнивается правильный ответ с нашим (оба ответа - пустые строки).
5. Проверка пройдена успешно, сообщение отослано.

Нехватка одной строки в программе, сводит на нет все остальные меры безопасности. Если бы программист проверил полученный результат из базы или хотя бы отвергал формы с пустым значением CAPTCHA-ответа, такая атака оказалась бы невозможной. Кстати, даже многие из Web-движков среднего уровня, содержат похожие недоработки.

3.1.3. Повторное использование сессий


Вы еще не забыли, что большинство ошибок возникают именно при обработке сессий. Я буду повторять это снова и снова, чтобы надолго закрепить в вашем сознании. Вот еще один довод: сессии существуют на определенном интервале времени. Вернемся к разбору vBulletin. На него я наткнулся, когда автоматизировал голосование сайта www.DogsOnAcid.com, посвященного D’n’B направлению в музыке.


Рис. 6. DogsOnAcid один из множества сайтов, которые используют vBulletin

Популярность системы не всегда является признаком ее надежности. vBulletin – тому доказательство. Для регистрации в системе вам опять-таки придется пройти тест “вопрос-ответ”. Взглянем, что на этот раз нам предстоит обойти.


Рис. 7. Так в чистом виде выглядит CAPTCHA от vBulletin

Ситуация должна немного усложниться, поскольку кроме сессии пользователя (поле s, строка 7), введена еще сессия для изображения (поле imagehash, строка 25). Кроме всего этого, изображение выдается сервером по обоим входным параметрам (сессия и хеш). Скажу вам, честно, в исходный код я не смотрел. Но заметил, кое-что именно в HTML странице и Cookie. С начала о Cookie, их надо игнорировать вообще. Если бот работает в Internet Explorer или каком то другом браузере, выключите их. Если это приложение, то отсылая запрос к серверу, оставьте их значение пустым. Такое требование необходимо, поскольку после регистрации в них будет содержаться информация о том, что вы успешно зарегистрированы, кроме того, несоответствие сессии в Cookie и HTML форме, может настораживать атакуемые сервисы.

Теперь самое интересное, после успешной или неуспешной регистрации, вам создается новая сессия. Но, тем не менее, старая некоторое время еще лежит в базе и может быть повторно использована. Сессия пользователя, не должна вызывать у вас особого интереса, поскольку можно воспользоваться и новой. Другое дело хеш изображения. Ответив один раз правильно на CAPTCHA, используя старый хеш, вы можете дать тот же самый ответ, и он будет засчитан. Поэтому, представим себе ситуацию, когда вы один раз говорите боту правильный ответ, а он в свою очередь, за предоставленное ему время регистрирует пару сотен пользователей. Или в других системах, имеющих такую же ошибку, пишет комментарии, подбирает пароли, делает покупки и т.д.

Хорошо, если вы всегда рядом и можете ему подсказать ответ, в то время, когда старая сессия уже непригодна. Что же делать в случае, если от него требуется полностью автономная работа. Тут уже дело за вами, вы можете написать его так, чтобы он самостоятельно, с помощью полного перебора, получал правильный ответ, и дальше повторно им пользовался. Если вы не далеки от программирования, у вас есть все шансы написать относительно простенький распознаватель образов. Пускай он будет работать не самым быстрым образом, зато от него требуется распознать текст в течении нескольких минут, а поэтому скорость работы не критична. Дальше результат распознавания ставится на конвейер. Но о распознавании мы поговорим попозже.

Бывают и другие случаи, когда в HTML коде вы не встретите какого-либо упоминания о сессии. Не расстраивайтесь, она обязательно должна быть. Советую тогда взглянуть в содержимое Cookie. К повторному использованию сессий не равнодушны такие системы как Gotcha, Code Project Captcha, humanVerify, и другие. В них информация о сессии хранится именно в Cookie. Кстати в этих системах подменять надо именно сессию пользователя (в данном случае это PHPSESSID), поскольку хеш изображения там напрочь отсутствует.

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

3.1.3. Манипулирование значением VEWSTATE


Будьте бдительны, имея дело с сессиями. Особенно когда кто-то их создал за вас, и вы даже не задумываетесь о принципах их работы. Речь идет о приложениях написанных на ASP.NET. Элегантность и простота программирования на этом языке, проявляют побочные эффекты при их более детальном изучении. Для примера, возьмем сайт, требующий прохождения теста, при каждом входе пользователя в систему.


Рис. 8. Форма авторизации пользователя созданная на ASP.NET

Все должно быть правильно. Как только пользователь вводит свои логин и пароль, а ко всему и верно отвечает на вопрос, он успешно получает свою сессию. Программа входа в систему выглядит следующим образом:


Рис. 9. Частичный исходный код авторизации пользователя на ASP.NET

На этой странице используется CATPCHA от фирмы Lanap. Соблюдая старую последовательность действий, заглядываем в исходный код страницы:


Рис. 10. Частичный исходный код авторизации пользователя в HTML

Попытки манипуляции с идентификатором изображения не увенчались успехом. Но, поскольку это приложение написано на ASP.NET, у нас есть возможность заняться экспериментами, манипулируя VEWSTATE.

Вообще VEWSTATE это тема отдельной статьи. Для тех, кто не знаком с его предназначением я коротко поясню некоторые нюансы. Это поле скрытое, и сделано оно для обеспечения удобно-программируемой системы клиент-сервер. VEWSTATE, своего рода сессия, но она берет на себя намного больше обязанностей. К ним относиться также и хранение переменных. Откровенно говоря, VEWSTATE может быть мощным орудием для атак SQL Injection, XSS и т.д. Но сейчас поговорим только об ее возможности хранить значения переменных.

Значит, когда вы ввели свой логин и пароль, они с большой вероятностью могут попасть в VEWSTATE. В нашем случае, успешный вход пользователя в систему, дополнительно контролируется переменной Logged. Как вы уже наверно догадались, она тоже хранится в VEWSTATE. Нет, следующий этап это не дешифрация VEWSTATE, в данном случае это лишнее. Вводим правильно логин, пароль и ответ на тест. В результате мы пройдем авторизацию. Дальше, в HTML коде страницы находим значение VEWSTATE и копируем его. Создаем HTML страницу, с формой авторизации. Из оригинальной формы, можно удалить все кроме VEWSTATE и SUBMIT. Интересно, что не требуются даже поля логин и пароль. Как вы думаете, почему? Все очень просто, их значения хранит VEWSTATE. Вы успешно авторизируетесь.

Проблема данной программы заключается в строке 23, там кроме ответа на CAPTCHA также проверяется ваш статус. Если вы уже вошли в систему, то данные не проверяются. А вы вошли, об этом свидетельствует значение VEWSTATE, пришедшее на сервер. Я не забыл напомнить, что это проблема сессии?

3.2. Распознавание образов


В широких кругах распознавание образов по праву считается самым эффективным способом для решения задач интерпретации. Это действительно так, ведь все остальные способы очень специфичны, и для их реализации требуются дополнительные затраты времени. С другой стороны, вероятность обнаружить уязвимость в атакуемом интерфейсе зависит от квалификации создателей ПО и злоумышленника. Часто может быть так, что попытки найти уязвимость заканчиваются неудачей. Поэтому в таких случаях, распознавание образов может оказаться очень привлекательным решением. Но не стоит думать, что речь идет исключительно о системах искусственного интеллекта, хотя они имеют место быть. Существует еще два способа, которые вошли в этот раздел.

3.2.1. Алгоритмическая обработка изображений (тест на идентичность)


Данный способ может применяться, для распознавания изображений с низким уровнем шумов или с их полным отсутствием. Его суть заключается в том, что для идентификации символов достаточно сравнений отдельных фрагментов изображения. Для примера(он косвенно касается темы статьи, но поможет в дальнейшем ее понимании), если вы используете незарегистрированный Total Commander (утилиту можно загрузить на сайте SoftKey.Ru), при каждом его запуске от вас требуется нажать на одну из трех кнопок. Ее номер задается случайным образом и отображается в строке «Please press button Nr.? to start the program! » (см. рис. 11).


Рис. 11. Окно при запуске незарегистрированной копии Total Commander

Окно появляется в одних и тех же координатах, значит и позиция текста, гласящего о номере кнопки, тоже остается неизменной. Поэтому, сохранив изображения всех трех вариантов диалогового окна (для 1-й, 2-й и 3-й), вы получаете возможность, в любой момент времени, узнать какой номер требуется ввести. Все что для этого необходимо, это обычная проверка на идентичность, подготовленных изображений (скриншотов) с содержимым на экране. Далее, определив номер кнопки, можно программно послать на нее нажатие мышки, поскольку ее позиция тоже будет статичной.

Ситуация может быть немного усложнена, в случае когда требуется распознать текст размещенный на текстуре или состоящий из немоноширных символов. Для примера, можно взглянуть на сайт www.privatmobile.com.ua. Это сайт мобильного оператора, который предоставляет множество услуг настраиваемых через Интернет. Одна из них это смена номера телефона клиента. Когда-то, передо мной была поставлена задача автоматизации этого процесса. Для подтверждения данной операции, от пользователя требуется отослать SMS сообщение с контрольным текстом. Проблема заключается в том, что изначально он отображается в виде изображения, а не как текстовая информация (см. рис. 12).


Рис.12. Код подтверждения на сайте Privat::Mobile

отображается как рисунок

Как видно из рисунка, шум в изображении отсутствует вообще. Для успешной идентификации графической информации необходимо всего два этапа (Рис. 13):

1. избавление от фона изображения, для позиционно независимой идентификации символов.

2. трассировка контура символов, чтобы избавится от ситуации их наложения друг на друга (в данном случае это происходит с первым символом, относительно второго).


Рис. 13 Исходное изображение и результаты работы 2-х фильтров

После предварительной обработки изображения, каждая из букв будет идентифицирована в отдельности. Как и в прошлом примере, подготовив «графический словарь», сделать это можно с помощью обычного сравнения изображений. Для программиста средней квалификации, составление программы такого уровня сложности, не составит большой проблемы. Несмотря на это, сегодня в Интернете, еще очень часто можно встретить страницы, на которых генерируются рисунки такой же сложности, а то и проще.

В дополнение, на сайте www.kyivstar.net, для отправки сообщений, тоже требуется правильно ответить на CAPTCHA.


Рис. 14. Сайт мобильного оператора КиевСтар и несколько

вариантов, сгенерированных изображений.

Как вы можете заметить, в некоторых случаях тест можно легко обойти, дожидаясь, пока сгенерированное изображение будет под нулевым углом (вариант D). Но этот процесс можно значительно приблизить. Для генерации CAPTCHA используется скрипт image.php. Помните, что я говорил о сессии? Так вот, учитывая, что сессия существует несколько минут, повторное обращение к image.php, дает изображение с теми же цифрами, только под другим углом. Потребуется всего около пяти запросов, чтобы получить изображение в легко обрабатываемом виде. А идентифицировав текст, можно отправлять форму на сервер. В этом случае, проблема не только в простоте рисунка, дополнительно полагаясь на особенности сессии, вы можете легко обойти тест.

3.2.2. Распознавание образов


Все выше описанные примеры, очень просты в использовании. А сейчас речь пойдет о немного более сложных технологиях, но в то же время и более эффективных. Мы поговорим о распознавании образов, в чистом виде. Речь идет о задачах OCR – оптического распознавания символов.

Многие считают, распознавание образов недосягаемой вершиной. Хочу вас заверить, что это утверждение далеко от истины. Вы как потребитель, наверно не раз использовали Fine Reader. Хотя можно, усомнится в качестве его работы, вспомните, что обрабатываемый им текст имеет относительно малые размеры и большой объем. А ко всему и скорость распознавания на высоком уровне. Другое дело CAPTCHA: с одной стороны нормальный размер и короткий текст, но с другой – высокий уровень шумов и деформаций.

На сегодняшний момент уже существует много проектов занимающихся исключительно распознаванием CAPTCHA. Наиболее известными из них являются два: “UC Berkeley Computer Vision Group” и “PWNtcha”.

Члены “UC Berkeley Computer Vision Group” опубликовали в Интернет документ, заверяющий в том, что им удается распознавать тесты, сгенерированные с помощью Gimpy. Причем процент успеха составляет 92%.


Рис. 15. Примеры CAPTCHA которые были распознаны

сотрудниками института Беркли

Работа PWNtcha, показывает тоже внушительные результаты:


Рис. 16. Фрагмент из списка CAPTCHA изображений,

распознанных программой PWNtcha

Использование искусственного интеллекта в скором времени должно свести на нет, применение визуальных тестов. Предварительно обученная нейронная сеть, может с большой точностью правильно распознать изображение. Существует один существенный нюанс, пока предложенные разработки не обладают высокой скоростью работы. В основном это связано с алгоритмами распознавания, а часто бывает так, что их используется несколько. Но для злоумышленника, использующего нейронные сети, дела стоят куда проще. Его задача сводится к обучению сети. Это не проблема, поскольку большинство предлагаемых CAPTCHA можно скачать и таким образом организовать обучение.

Ко всему перечисленному, добавьте понятия ассоциативных связей, генетического алгоритма, и возможность успешного распознавания будет расти "из поколения в поколение". Генотип алгоритмов обработки изображений, если это звучит абсурдно, то хорошенько задумайтесь над своими познаниями в областях генетики и создания искусственного интеллекта. Существующие проекты, это лишь вершина айсберга.

3.2.2. Использование человеческого ресурса


Пожалуй, самым интересным из существующих решений, это то что придумали спамеры, для регистрации бесплатных почтовых ящиков в системах Yahoo и HotMail. Они не искали уязвимостей, не писали распознавание образов. Спамеры подключили к своей борьбе приличную часть пользователей Интернета, а точнее любителей бесплатного порно (см. Рис. 17).


Рис. 17. Любителям бесплатного просмотра сайтов

порнографического характера необходимо проходить

CAPTCHA тест, для каждой следующей фотографии.

Спамеры создают бесплатные фото галереи порнографического характера. Единственное, что требуется от посетителя, это отвечать на CAPTCHA тест, для просмотра следующей фотографии. Сам тест, выбирается из формы регистрации почтового сервера. Ответ пользователя, соответственно вставляется в туже форму, и таким образом каждая фотография равняется новому почтовому ящику. Технически, такая система не требует высокой квалификации злоумышленника, а поэтому является очень простой в реализации. Кроме этого, любителей порно тоже не мало.

3.3. Рекомендации по безопасности


Как легко убедиться, что способов обойти проверку, хоть отбавляй. Поэтому этим мы и займемся. Вот некоторые рекомендации:

1. Время существования сессии должно быть ограничено, пяти минут вполне хватает. Если заполняемая форма очень большая, разбейте ее на несколько частей, а сессию создавайте на последнем этапе.
2. В случае получения формы, сессия должна быть немедленно удалена, чтобы избежать повторного ее использования.
3. Обязательно проверяйте полученные данные на пустые значения. Это должно спасти вас от ситуации с несуществующей сессией. Это также поможет вам с проблемой VIEWSTATE, если вы программируете на ASP.NET.
4. Желательно все данные о сессии хранить в Cookie и не выносить в HTML код страницы. Кстати, в HTML можно выносить фиктивные сессии, для отслеживания попыток взлома на их начальной стадии.
5. Если тест находится в регистрационной форме, поставьте блокировку по IP, на повторную регистрацию. Это не панацея, но все же. В дополнение, если в генерации CAPTCHA будет принимать участие и IP адрес, то история с vBulletin с вами не повторится.
6. Не генерируйте простых изображений, но и не перегибайте палку с эффектами.

На самом деле перед нами возникла достаточно большая проблема. Существующие системы не защищают своих потребителей. На этот раз речь идет не о уязвимостях, а о самой технологии. Усложняя CAPTCHA мы уже часто, сами с трудом понимаем, что за текст скрывается в этом изображении. Так не может продолжаться дальше. Область ИИ постепенно развивается, дело не в умных домах и не в милой девочке по имени Эллис, живущей в институте Беркли, любезно готовой пообщаться с тобой. Дело в искусственном интеллекте, нейронных сетях и ассоциативном мышлении. Что дальше? Скорее всего, это приведет к необходимости внедрения биометрических систем, со всеми из этого вытекающими. Будьте бдительны…

Второй раз повторяю: я человек! CAPTCHA | | 2010-12-30 02:36:02 | | Статьи про Юзабилити | | 1. Краткий обзорИнтернет-роботы или как их чаще называют боты, это программы созданные для автоматизированного выполнения некоторых функций в сети. В зависимости от их предназначения, цель работы | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Дайджест новых статей по интернет-маркетингу на ваш email
Подписаться

Продающие сайты "под ключ"!

Наши сайты зарабытывают вам деньги. Landing-page. Эффективные продающие сайты точно в срок и под ключ! Всего от 14700 рублей
Подробнее...

Интернет-магазины и каталоги "под ключ"!

Эффективные и удобные инструменты торговли (электронной торговли) "под ключ". Продают, даже когда вы спите! Всего от 33800 рублей
Подробнее...

Комплексный интернет-маркетинг и продвижение сайтов

Максимальную эффективность дает не какой-то конкретный метод, а их комбинация. Комбинация таких методов и называется комплексным интернет-маркетингом. Всего от 8000 рублей в месяц
Подробнее...

Реклама в Yandex и Google

Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров. Всего от 8000 рублей в месяц
Подробнее...

Social media marketing (SMM) — продвижение в социальных медиа

Реклама в Однокласcниках и на Mail.ru Создание, ведение и раскрутка групп и реклама ВКонтакте и Facebook. Всего от 8000 рублей в месяц
Подробнее...

Приглашаем к сотрудничеству рекламные агентства и веб-студии!

Внимание Акция! Приглашаем к сотрудничеству рекламные агентства и различные веб-студии России! Индивидуальные и взаимовыгодные условия сотрудничества.
Подробнее...

Ускоренная разработка любого сайта от 5 дней!

Внимание Акция! Ускоренная разработка любого сайта! Ваш сайт будет готов за 5-10 дней. Вы можете заказать разработку любого сайта "под ключ" за 5-10 рабочих дней, с доплатой всего 30% от его стоимости!
Подробнее...

Ждем новых друзей!

Внимание Акция! Ждем новых друзей! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта при переходе к нам от другого разработчика.
Подробнее...

Приведи друга и получи скидку!

Внимание Акция! Приведи друга и получи скидку! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта, если клиент заказавший наши услуги, пришел по Вашей рекомендации.
Подробнее...

1 2 3 4 5 6 7 8 9

Новые статьи и публикации



Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!

Качественное и объемное представление своего бизнеса в Сети требуется любой растущей коммерческой структуре, стремящейся увеличить продажи, именно по этой причине среди наших клиентов как крупные так и небольшие компании во многих городах России и ближнего зарубежья.
Как мы работаем

Заявка
Позвоните или оставьте заявку на сайте.


Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!


Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.


Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.


Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Остались еще вопросы? Просто позвоните и задайте их специалистам
с 2:30 до 11:30 по Мск, звонок бесплатный
Или напишите нам в WhatsApp
с 9:30 до 18:30 по Хабаровску
Или напишите нам в WhatsApp
Веб-студия и агентство комплексного интернет-маркетинга «РЭДЛАЙН» © 2006 - 2024

Профессиональная Веб-разработка. Создание сайтов и магазинов "под ключ" , а также по всей России и зарубежью. Продвижение и реклама. Веб-дизайн. Приложения. Сопровождение. Модернизация. Интеграции. Консалтинг. Продвижение и реклама. Комплексный Интернет-маркетинг.

Оставьте заявку / Задайте вопрос

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услугу

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Обратный звонок

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Подписка на дайджест новостей

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услуги со скидкой \ Бесплатная консультация







КАКИЕ УСЛУГИ ВАС ИНТЕРЕСУЮТ?

КАКИЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ ПОТРЕБУЮТСЯ?

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Высококачественные сайты по доступным ценамМы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!

Что нужно сделать, чтобы заказать создание сайта у нас?

Ну для начала вам нужно представлять (хотя бы в общих чертах), что вы хотите получить от сайта и возможно каким вы хотите его видеть. А дальше все просто. Позвоните нам или оставьте заявку нашим менеджерам, чтобы они связались с Вами, проконсультировали и помогли определиться с подходящим именно Вам сайтом по цене, сроку, дизайну или функционалу. Если вы все ещё не уверены, какой сайт вам нужен, просто обратитесь к нам! Мы вместе проанализируем вашу ситуацию и определим максимально эффективный для вас вариант.

Быстрый заказ \ Консультация

Для всех тарифных планов на создание и размещение сайтов включено:

Комплексная раскрутка сайтов и продвижение сайта Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...

Комплексная раскрутка работает в рамках стратегии развития вашего бизнеса в сети и направлена

Быстрый заказ \ Консультация

ЭФФЕКТИВНОЕ СОПРОВОЖДЕНИЕ (ПОДДЕРЖКА, ОБСЛУЖИВАНИЕ) САЙТОВ

Полный комплекс услуг по сопровождению сайтаМы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.

Передав свой сайт для поддержки в руки наших специалистов, Вы избавитесь от проблем, связанных с обновлением информации и контролем за работой ресурса.

Наша компания осуществляет техническую и информационную поддержку уже имеющихся сайтов. В понятие «поддержка сайтов» также входят услуги администрирования сайтов, обновления сайтов и их модернизация.

Быстрый заказ \ Консультация

Редизайн сайта и Адаптивный веб дизайн

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

Редизайн сайта — создание нового дизайна сайта с целью улучшения внешнего вида, функциональности и удобства использования. Редизайн сайта – это способ преобразовать проект к извлечению из него максимальной отдачи и средств. В современном мире задачами редизайна является поднятие существующего сайта на новый уровень для внедрения новых технологий, при этом сохраняя многолетний сформировавшийся опыт и успешные решения компаний.

Адаптивный дизайн сайтов и веб-приложений

Все больше людей пользуются мобильными устройствами (телефонами, планшетами и прочими) для посещения Интернета, это не для кого уже не новость. Количество таких людей в процентном отношении будет только больше с каждым годом, потому что это удобно и по многим другим причинам.

На сегодняшний день адаптивный дизайн является стандартным подходом при разработке новых сайтов (или веб-приложений) и в идеале ваш сайт должен смотреться и функционировать так, как вы задумывали, на всём разнообразии устройств.

Быстрый заказ \ Консультация

Контекстная реклама в Яндекс и GoogleКонтекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.

Реклама в поисковых системах Яндекс и Google. Профессиональная настройка рекламы и отслеживание эффективности!

Рекламные объявления показываются именно тем пользователям, которые ищут информацию о Ваших товарах или услугах, поэтому такая реклама не является навязчивой и раздражающей в отличие от других видов рекламы, с которыми мы сталкиваемся на телевидении или радио. Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров.

Быстрый заказ \ Консультация

Скидка

1500 руб.
Заинтересовались услугами создания, обслуживания или продвижения вашей компании в Интернете?!
Получите 1500 руб.
за он-лайн заявку
Предложение ограничено.

После получения заявки с Вами свяжутся наши специалисты и уточнят все детали по интересующей вас услуге.
«Нажимая на кнопку "Получить скидку", я даю согласие на обработку персональных данных»
×
Получите 1500 рублей!
×
×