Взлом CAPTCHA на securitylab: полгода спустя Пипл, какментим и оцениваем [ I Intro ] Наверняка все слышали про популярный российский ресурс securitylab.ru. Когда-то на xakep.ru публиковали статью, в которой автор разобрал скрипт генерации картинок (captcha) и подробном описал принцип его работы. Вспомнив об этом, я решил посмотреть, что же изменилось за это время. [ II Inside ] Заходим на секлаб, смотрим любую новость и ниже видим формочку для добавления камента: Посмотрим, откуда же берется картинка: Видим интересное значение r%D34q%8A Попробуем поэксперементировать со скриптом. 1) Попробуем убрать %D34q%8A, оставив только r. Видим почти пустую картинку, с одной только четверкой на ней: Понятно, что первый символ генерируется на основе простого алфавита Загрузим страницу несколько раз, и таким образом соберем таблицу значений "символ на картинке <--> параметр для captcha_code" Первый символ генерируется на основе одной буквы (t,u,r,s,p,q) или строки %7E, %7F 2 - t 3 - u 4 - r 5 - s 6 - p 7 - q 8 - %7E 9 - %7F 2) Второй символ. Тут действуем также, как и с первым. Можно релоадить страницу и собирать значения (проще), а можно подбирать captcha_code (бестрее). Второй символ генерируется на основе строки %DN , где n - число от 0 до 7 или символы C,D *2 char: 2 - %D6 3 - %D7 4 - %D0 5 - %D1 6 - %D2 7 - %D3 8 - %DC 9 - %DD 3) Третий символ генерируется на основе строки N , где n - число от 2 до 9, т.е. открытым текстом 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 4)Четвертый символ генерирутеся также, как первый 2 - t 3 - u 4 - r 5 - s 6 - p 7 - q 8 - %7E 9 - %7F 5)Пятый символ генерируется на основе строки %8N, где N - Символы от A до F или цифры 4,5,8,9 2 - %8E 3 - %8F 4 - %88 5 - %89 6 - %8A 7 - %8B 8 - %84 9 - %85 Как видно, символы 0 и 1 отсутствуют [ III Немного креатива ] Имея на руках таблицу кодов, можно попробовать что-нибудь изобразить через captcha секлаба Т.к. я собирал только коды цифр (в данный момент используются только они), то просто напишу 31337. Смотрим в табличку: 1 символ, 3 - u 2 символ, 1 - %D5 (не используется, но не сложно догадаться, что это %D5) 3 символ, 3 - 3 4 символ, 3 - u 5 символ, 7 - %8B Получаем u%D53u%8b: [ VI Outro ] По хз-какому-закону, на крупных проектах всегда должно быть что-то, написанное через [cut]... Когда-то, примерно полгода назад, на секлабе в скрипте генерации были не только цифры, но и буквы. Видимо, сейчас кодеры решели облегчить некоторым людям жизнь и оставили только цифры с 2 до 9 Итог: после того как CAPTCHA от битрикса разобрали по винтикам, кодеры переодически что-то меняли, но стало только хуже links: [1] Собственно сам секлаб [2] Статья про взлом CAPTCHA на xakep.ru Мб название слишком громкое?
Собственно как такового взлома тут нет (имхо), да есть возможность зарегить 1000 юзеров на секлабе, но кому это надо? Хотя для отсылки смс пригодилось бы. Напоминает мне один забавный случай, когда один мой инет знакомый сделал эти циферки так: в ручную САМ нарисовал 10 картинок с цифрами, и выводил одну из картинок случайным образом. Тоесть заренее можно было узнать на какой картинке(под каким номером) какие цифры нужно вводить. Когда я это узнал, я долго бился об пол в истерике
Именно битрикс достаточно пропиарен, на pickup.ru он стоит. (в админке чекалка юзерагента, в ней хсс, хотя это мало что даст(( ) А captcha вообще - почти везде. Иногда пишут так, что проще поломать сам скрипт (как в данном случае), иногда проще распознать картинку.
самое лучшее что я в таком случае использовал это трехэтажные неупрощаемые формулы от результата которых берутся некоторые цифры начиная с N-ной в дробной части. до посинения можно пытаться угадать принцип генерации. (советую попробывать упростить формулку в Mathematica или Maple, а то кто её знает м.б. константа получиться =))