Авторские статьи [Securitylab hack] Взлом CAPTCHA: Полгода спустя.

Discussion in 'Статьи' started by Gh0s7, 12 Dec 2006.

  1. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Взлом CAPTCHA на securitylab: полгода спустя


    Пипл, какментим и оцениваем ;)


    [ I Intro ]
    Наверняка все слышали про популярный российский ресурс securitylab.ru. Когда-то на xakep.ru публиковали статью, в которой автор разобрал скрипт генерации картинок (captcha) и подробном описал принцип его работы. Вспомнив об этом, я решил посмотреть, что же изменилось за это время.

    [ II Inside ]

    Заходим на секлаб, смотрим любую новость и ниже видим формочку для добавления камента:
    [​IMG]
    Посмотрим, откуда же берется картинка:
    [​IMG]
    Видим интересное значение r%D34q%8A
    Попробуем поэксперементировать со скриптом.
    1) Попробуем убрать %D34q%8A, оставив только r. Видим почти пустую картинку, с одной только четверкой на ней:
    [​IMG]
    Понятно, что первый символ генерируется на основе простого алфавита :)
    Загрузим страницу несколько раз, и таким образом соберем таблицу значений "символ на картинке <--> параметр для 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:
    [​IMG]
    [​IMG]

    [ VI Outro ]

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

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

    links:

    [1] Собственно сам секлаб
    [2] Статья про взлом CAPTCHA на xakep.ru


    Мб название слишком громкое? ;)
     
    8 people like this.
  2. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    Собственно как такового взлома тут нет (имхо), да есть возможность зарегить 1000 юзеров на секлабе, но кому это надо? :) Хотя для отсылки смс пригодилось бы.
    Напоминает мне один забавный случай, когда один мой инет знакомый сделал эти циферки так:
    в ручную САМ нарисовал 10 картинок с цифрами, и выводил одну из картинок случайным образом. Тоесть заренее можно было узнать на какой картинке(под каким номером) какие цифры нужно вводить. Когда я это узнал, я долго бился об пол в истерике ;)
     
  3. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    имхо есть, взлом скрипта генерации.
    взлом - не такое узкое понятие, как проникновение на сервер
     
  4. LoneWolf666

    LoneWolf666 Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    207
    Likes Received:
    121
    Reputations:
    12
    а насколько распространена именно такая система?
     
  5. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Именно битрикс достаточно пропиарен, на pickup.ru он стоит.
    (в админке чекалка юзерагента, в ней хсс, хотя это мало что даст(( )

    А captcha вообще - почти везде.
    Иногда пишут так, что проще поломать сам скрипт (как в данном случае), иногда проще распознать картинку.
     
  6. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    580
    Likes Received:
    279
    Reputations:
    91
    хранити циферки в сберегательной кассе (сессии) ;)
     
  7. m17

    m17 New Member

    Joined:
    5 Dec 2006
    Messages:
    21
    Likes Received:
    1
    Reputations:
    2
    самое лучшее что я в таком случае использовал это трехэтажные неупрощаемые формулы от результата которых берутся некоторые цифры начиная с N-ной в дробной части. до посинения можно пытаться угадать принцип генерации. (советую попробывать упростить формулку в Mathematica или Maple, а то кто её знает м.б. константа получиться =))
     
  8. vectorg

    vectorg Противоядие

    Joined:
    7 Aug 2005
    Messages:
    335
    Likes Received:
    140
    Reputations:
    236
    мм?
    -http://pickup.ru/
    Система управления сайтами - Managee CMS
    -http://www.managee.ru/
     
    2 people like this.
  9. /W0W3/s

    /W0W3/s HarD CorE

    Joined:
    18 Jun 2005
    Messages:
    646
    Likes Received:
    212
    Reputations:
    85
    ну..Можно скзать один из вариантов не все предпочитают битрикс =))
    за статью, зач0т
     
  10. Gh0s7

    Gh0s7 Elder - Старейшина

    Joined:
    23 Nov 2006
    Messages:
    160
    Likes Received:
    231
    Reputations:
    242
    Хм, а я почему-то был уверен, что там битрикс...
    Извеняюсь)