23.04.2009 09:46
OlegON
 
А вот интересная вещь, кто что слышал? На самом деле старый трюк с подменой identified by values известен, и я его даже в оптимайзере применял, но в Супермажной теме озвучили, что 8-значный пароль ломается за 4 минуты... Я, конечно, сам покопаю, но интересны материалы... До сих пор попадался только брутфорс. Цель - узнать пароль. В качестве подсказки - можем достать хеш из dba_users.
23.04.2009 09:52
OlegON
 
1) К имени пользователя приклеивается справа текст пароля.
2) В получившейся строке буквам повышается регистр.
3) Символы строки переводятся в двухбайтовый формат дополнением слева нулевым значением 0x00 (для символов ASCII), и справа строка дописывается нулевыми байтами до общей длины 80.
4) Получившаяся строка шифруется алгоритмом DES в режиме сцепления блоков шифротекста (CBC) ключом 0x0123456789ABCDEF.
5) Из последнего блока результата удаляются разряды четности и полученная строка (56 разрядов) используется для нового шифрования исходной строки тем же способом.
6) Последний блок результата переводится в знаки шестнадцатиричной арифметики и объявляется конечным результатом - сверткой.
Особенности такого алгоритма:
- Свертка не зависит от регистра букв. Например, пары SCOTT/TIGER, Scott/Tiger, scoTT/TigeR дадут одну и ту же свертку F894844C34402B67.
- Одинаковые склеенные пары имя_пользователя / пароль дают одинаковую свертку. Например, пары SCOTT/TIGER, SCOT/TTIGER, SCOTTTIG/ER дадут одну и ту же свертку F894844C34402B67.
- Свертка не зависит от БД. Например, где бы мы ни создавали БД Oracle, свертка для пользователя SCOTT и пароля TIGER всегда будет F894844C34402B67.
- Используется шифрование DES.
23.04.2009 10:08
OlegON
 
Список исходных паролей для многих штатных пользователей Oracle можно найти на и в .


Собственно, все написано
У кого-нибудь есть время проверить?
23.04.2009 10:11
isi
 
Цитата:
OlegON 1) К имени пользователя приклеивается справа текст пароля.
2) В получившейся строке буквам повышается регистр.
3) Символы строки переводятся в двухбайтовый формат дополнением слева нулевым значением 0x00 (для символов ASCII), и справа строка дописывается нулевыми байтами до общей длины 80.
4) Получившаяся строка шифруется алгоритмом DES в режиме сцепления блоков шифротекста (CBC) ключом 0x0123456789ABCDEF.
5) Из последнего блока результата удаляются разряды четности и полученная строка (56 разрядов) используется для нового шифрования исходной строки тем же способом.
6) Последний блок результата переводится в знаки шестнадцатиричной арифметики и объявляется конечным результатом - сверткой.
Особенности такого алгоритма:
- Свертка не зависит от регистра букв. Например, пары SCOTT/TIGER, Scott/Tiger, scoTT/TigeR дадут одну и ту же свертку F894844C34402B67.
- Одинаковые склеенные пары имя_пользователя / пароль дают одинаковую свертку. Например, пары SCOTT/TIGER, SCOT/TTIGER, SCOTTTIG/ER дадут одну и ту же свертку F894844C34402B67.
- Свертка не зависит от БД. Например, где бы мы ни создавали БД Oracle, свертка для пользователя SCOTT и пароля TIGER всегда будет F894844C34402B67.
- Используется шифрование DES.

Сам ответил на свой вопрос :)
Часовой пояс GMT +3, время: 15:13.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.