Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сломали капчу, помогите советом

44K
24 мая 2009 года
sergik15828
17 / / 24.05.2009
Привет всем!
У меня проблема следующая, мою капчу сломали, начали слать спам. Пробовал подставлять другие шрифты - бесполезно. Затем ради эксперимента убрал строку с капчи вообще, и все равно продолжался спам. В общем получается что злоумышленник как то считывает строку, которую я записываю в сессию.

Если кто сталкивался, подскажите как с этим бороться.
Заранее спасибо!
13
25 мая 2009 года
RussianSpy
3.0K / / 04.07.2006
Как вы капчу организовали? Есть пример посмотреть?
44K
25 мая 2009 года
sergik15828
17 / / 24.05.2009
Код:
@session_start();
# Кол-во символов в строке
$symbols_num = 4;
# Цифры
$numbers = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
# Генерация массива символов контрольной строки
for($i = 0; $i < $symbols_num; $i++)
{
$captcha_key_array[] = $numbers[rand(0, 9)];   
}
$captcha_key = implode('', $captcha_key_array);
$_SESSION['captcha'] = $captcha_key;

# Берём щрифты
$fonts_dir = opendir('fonts');

 while(false !== ($module = readdir($fonts_dir)))
 {  if($module != '.' and $module != '..')
    {
        $fonts_array[] = $module;
    }
 }
$fonts_num = count($fonts_array);

# Ширина-высота изображения
$width = $symbols_num * 30;
$height = 50;

# Создание изображения
$image = imagecreatetruecolor($width, $height);



....................... далее создаются всякие шумы, вводится строка и выводится изображение.



получается что злоумышленник как то узнает $_SESSION['captcha']
366
25 мая 2009 года
int
668 / / 30.03.2005
 
Код:
$numbers = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
# Генерация массива символов контрольной строки
for($i = 0; $i < $symbols_num; $i++)
{
$captcha_key_array[] = $numbers[rand(0, 9)];   
}
$captcha_key = implode('', $captcha_key_array);
В рот мне ноги о_О

 
Код:
$captcha_key='';
for($i = 0; $i < $symbols_num; $i++)
$captcha_key.=rand(0,9);


А вот моё решение для капчи:
Код:
class capcha
{
    static function InitCapcha($num=5)
    {
        $capcha='';
        $letters="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        for ($p=0;$p<$num;$p++)
            $capcha.=$letters[mt_rand(0,strlen($letters)-1)];
        $_SESSION['capcha']=$capcha;
    }
}

вызывается через capcha::InitCapcha(4), сессия должна быть инициализирована заранее.
А рисует её отдельный файл gen.php, который достаёт $_SESSION['capcha'] и возвращает картинку
44K
25 мая 2009 года
sergik15828
17 / / 24.05.2009
Спасибо за ответ int. Но как бы я не химичил, все равно воруют (или как то подменяют) $_SESSION['capcha'], только как, не пойму
13
25 мая 2009 года
RussianSpy
3.0K / / 04.07.2006
Вместо своей жуткой поделки ставьте вот это
http://www.captcha.ru/kcaptcha/
44K
25 мая 2009 года
sergik15828
17 / / 24.05.2009
Цитата: RussianSpy
Вместо своей жуткой поделки ставьте вот это
http://www.captcha.ru/kcaptcha/



Принцип тот же. Заводится сессия, и у меня ее воруют

13
25 мая 2009 года
RussianSpy
3.0K / / 04.07.2006
Учитывая качество кода, которое вы тут показали - я лично не уверен что у вас все написано правильно. Поставьте эту капчу что я вам дал ссылку и посмотрите результат.

Похитить содержимое сессии невозможно без прямого взлома веб-сервера.

ЗЫ И кстати - можете показать свою капчу в действии на проблемном сайте?
44K
07 июня 2009 года
sergik15828
17 / / 24.05.2009
Цитата:
Поставьте эту капчу что я вам дал ссылку и посмотрите результат.



поставил, результат аналогичный :(

399
07 июня 2009 года
KIV
432 / / 20.01.2009
Цитата:
Бесплатные почтовые сервисы, такие
как Hotmail и Yahoo, зачастую используются спамерами для своих
рассылок. Но из-за громадного числа рассылаемых писем и из-за того,
что подобные ящики довольно быстро уничтожаются, спамерам необходимо
регистрировать их тысячами.<BR>Для этих целей они используют
специальных роботов, предназначенных для автоматической регистрации.
Чтобы бороться с этими роботами, компании, предоставляющие почтовые
услуги в Интернете, ввели так называемый тест "Captcha". Его суть в
том, что при вводе регистрационных данных, нужно для подтверждения
своей человеческой природы ещё и расшифровать определенного вида
картинку. Обычно это плохо читающийся текст на каком-нибудь неровном
фоне.<BR>Человеку эта задачка дается легко, в то время, как роботы с
ней не справляются. И вот, чтобы обойти данную проблему, спамеры
завели бесплатный порнографический ресурс.<BR>Для получения доступа
к этому ресурсу необходимо тоже (!) пройти тест "Captcha". Тысячи
посетителей порноресурса ежедневно проходят этот тест, не
подозревая, что при этом они создают очередной почтовый ящик для
спамеров.<BR>При помощи специального скрипта регистрационный тест
Hotmail переносится на спамерский сайт, где он успешно и
проходится...


Возможно это именно тактой случай.

44K
07 июня 2009 года
sergik15828
17 / / 24.05.2009
не думаю, я ведь в качестве эксперимента выводил пустую картинку без строки, результат тот же
304
07 июня 2009 года
Fenyx
707 / / 26.01.2005
Цитата: sergik15828
не думаю, я ведь в качестве эксперимента выводил пустую картинку без строки, результат тот же


А может не капчу ломают а sql инъекция? ) или ошибка в скриптах?

44K
08 июня 2009 года
sergik15828
17 / / 24.05.2009
Цитата:
А может не капчу ломают а sql инъекция?



sql тут не причем, я не использую в майл форме запросов к базе

12
08 июня 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: sergik15828
поставил, результат аналогичный :(


Ну прямо чудеса какие. А в чудеса лично я не верю. А верю в то, что где-то есть дыра и ей пользуются.

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

Меняй короче ящик.

44K
08 июня 2009 года
sergik15828
17 / / 24.05.2009
спам конкретно из этой формы, проверено
12
08 июня 2009 года
alekciy
3.0K / / 13.12.2005
Все равно у тебя где-то в движке есть дыра. Вот её и ищи.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог