База мобильных операторов всего мира

14 комментариев

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

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

Конечно формат немного не тот что нужен, да и для прямого скачивания ее нигде нет. Пришлось написать парсер и спарсить все данные с html страниц напрямую. Под катом архив с базой, примером и описанием того как определять оператора по номеру.
Читать далее →

Апдейт Google. Получил PR 5

4 комментария

Вчера узнал что был апдейт pagerank и решил проверил показатели:

Шок и только Oo

Мануал на тему как получить PR5 за полтора месяца читайте под катом =)
Читать далее →

Сортировка многомерных массивов по ключу на PHP

36 комментариев

Практически перед каждым PHP-программистом становится задача отсортировать многомерный массив. К примеру вот такой вот:

$data=array(
	array('text'=>'str1', 'year'=>'2010', 'author'=>10),
	array('text'=>'str2', 'year'=>'2011', 'author'=>10),
	array('text'=>'str3', 'year'=>'2009', 'author'=>20),
	array('text'=>'str4', 'year'=>'2010', 'author'=>30),
	array('text'=>'str5', 'year'=>'2010', 'author'=>20),
	array('text'=>'str6', 'year'=>'2011', 'author'=>10),
	array('text'=>'str7', 'year'=>'2011', 'author'=>20),
	array('text'=>'str8', 'year'=>'2009', 'author'=>20),
);

По, допустим, ключу year, как же сделать это грамотно?

Читать далее →

Автоматическое распознавание KeyCaptcha

64 комментария

Вот мое видео демонстрирующее процесс автоматического распознавания капчи KeyCaptcha

http://www.youtube.com/watch?v=3BCJkLph34s

Как видите у меня получилось взломать KeyCAPTCHA. Как же это реализовано? Читать далее →

Деобфускация JavaScript. Расшифровываем JjEncode

5 комментариев

На днях столкнулся с необходимостью деобфусцировать JjEncode. Вот пример зашифрованной строки

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

Исследование уязвимости PHP include

2 комментария

Помимо программирования, я увлекаюсь исследованиями в области безопасности web приложений. Занимаюсь аудитом на заказ и так далее. И вот на днях мне попался вот такой вот код (я немного упростил его, чтобы было понятнее):

$module=addslashes($_REQUEST['module']);
include('modules/'.$module.'/module.class.php');

Налицо обычная уязвимость класса PHP-инклудинг. Но, человек, для которого я делал аудит, заявил мне, мол, эту уязвимость эксплуатировать невозможно, поэтому она не считается. Пришлось с ним поспорить Читать далее →

Оперируем капчу на примере

66 комментариев

Здравствуйте!

В этой статье, пойдет речь, о еще нескольких приемах распознавания captcha защиты. Эти приемы я буду демонстрировать на подопытной капче. В качестве подопытной я выбрал капчу некоего Rafontes на которую я набрел когда искал материалы для предыдущей статьи Анализ алгоритмов генерации CAPTCHA.

Пример сгенерированной капчи:

Фон мне пришлось использовать другой, так как автор не выложил оригинальный (или я не нашел), но это не повлияет на результат.
Читать далее →

Анализ алгоритмов генерации CAPTCHA

20 комментариев

Введение

Эта статья выходит как продолжение статьи Какой должна быть капча?

Здесь мы рассмотрим существующие решения различных защит CAPTCHA их минусы и плюсы, стойкость к распознаванию и читаймость со стороны человека.

Естественно вы должны давать себе отчет в том для чего вы разрабатываете защиту от спам ботов на своем сайте. То есть конкретно от чего вы хотите защитится? Вариантов два:

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

2) От целенаправленного взлома капчи. Это когда кто то садится писать программу-анализатор целенаправленно под вашу защиту, учитывая все особенности генерации вашей капчи.

Защищаясь от случайных спам ботов достаточно будет реализовать какую нибудь простенькую защиту на JS без картинки. Или если вы таки решились на CAPTCHA то достаточно будет очень простой капчи.

А вот от целенаправленного взлома вас не спасет ни один алгоритм. Тут скорее вопрос в том сколько ресурсов готов потратить взломщик на вашу защиту. Если ему понадобится для этого нанять десяток программистов, а также арендовать пару десятков серверов, то я думаю он откажется от этой затеи.
Читать далее →

Какой должна быть капча?

13 комментариев

Сейчас можно заметить что капчу используют везде, где надо и где не надо. Да и, к сожалению, не всегда капчу делают «правильной». Для начала что такое капча. CAPTCHA — разновидность теста Тьюринга.

Тест Тьюринга — тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Основная идея теста: предложить пользователю такую задачу, которую с лёгкостью может решить человек, но которую несоизмеримо сложнее решить компьютеру.

Все программисты рано или поздно задумываются о том как же им защитить свой сайт от спам-ботов. И все начинают с того что вводят на своем сайте капчу. То есть любой программист вводя captcha, ставит перед собой задачу отловить все компьютеры, но оставить доступ реальным людям.

Вообщем как выглядит обычная капча думаю знают все. Но вот есть одна беда. Очень часто разработчики задумываются только об одной проблеме — «как защитить свой сайт от спама». Но ввод этой защиты на своем сайте добавляет и другую проблему. В данной статье я расскажу вам о золотом правиле капчи, которое я вывел. А также о том какой должна быть captcha. Читать далее →