Интересный алгоритм аунтефикации

Discussion in 'PHP' started by vvs777, 12 Mar 2011.

  1. vvs777

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

    Joined:
    16 Nov 2004
    Messages:
    393
    Likes Received:
    212
    Reputations:
    4
    Набрел вчера на сайтец, который заставил меня задуматься о божественной теории происхождения мира...

    Короче, дела такие: сбрутил пару акков на пасс 1234.
    Затем брутил на 01234 - те же 2.
    Одно дело если б пароль мог быть только циферным и в базе хранился числом. Другое дело что пароль может быть любыми символами из (a-z,0-9).

    есть идеи как такое может быть?
    Врядли там самописный мега-хеш, дающий на эти пароли одинаковые значения...
     
    #1 vvs777, 12 Mar 2011
    Last edited: 12 Mar 2011
  2. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    если не секрет что за логин.
    Может у первого логина был 0 в конце?
     
  3. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Возможно выборка идет из БД запросом типа:
    $sql = "SELECT * FROM users WHERE login='.$_POST['login'].' OR pwd='.$_POST['pwd'].';";

    Но тогда бы ты смог зайти под любым аком с любым паролем, а не только под 2-мя сбручеными.
     
    _________________________
  4. bxN5

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

    Joined:
    8 Jan 2006
    Messages:
    687
    Likes Received:
    138
    Reputations:
    32
    покажи сайтец
     
  5. vvs777

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

    Joined:
    16 Nov 2004
    Messages:
    393
    Likes Received:
    212
    Reputations:
    4
    если покажу сайтец мне за него по рогам дадут ;)

    логин обычный буквенный, слово из словаря с большой буквы (хотя регистр не имеет значения, но в базу пишется как ввел юзер)
    Выборка точно не OR

    Проверил дальше - это относится к любым циферным паролям
    аналогично с 012345 и 12345

    проверю еще путем регистрации акка с паролем 0qwerty и скажу результат. Все равно это что-то уникальное.
    Сайт точно хранит данные в MySQL, язык вроде пхп, хотя и жестоко извращенный через mod_rewrite
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    vvs777 возможно стоит левая защита от инъекций, типа такой:
    PHP:
    function antisql($val)
    {
    if (
    is_numeric($val)) return intval($val);
    else return 
    mysql_real_escape_string($val);
    }
    Соответственно любое произвольное количество нулей в начале строки - будет обрезано
     
    _________________________
    1 person likes this.
  7. vvs777

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

    Joined:
    16 Nov 2004
    Messages:
    393
    Likes Received:
    212
    Reputations:
    4
    СУПЕР! сейчас проверю 0001234
    вроде оно. Только нафиг оно надо если пароль все равно должен храниться в виде хеша. Скорее всего у них открытым текстом.
     
  8. FATFAT

    FATFAT New Member

    Joined:
    10 Mar 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Видимо через такую функцию прогоняют перед хэшированием и записью в БД.