Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   Какой алгоритм шифрования паролей в ipb 2.0.3? (https://forum.antichat.xyz/showthread.php?t=5298)

ak-flash 03.03.2005 14:01

Какой алгоритм шифрования паролей в ipb 2.0.3?
 
Пожскажите какой алгоритм шифрования паролей в ipb 2.0.3. А то я достал хэш пасса админа, а расшифовать не могу, там не md5 алгоритм. Получается что с помощью уязвимости IPB 2.0.3 нельзя захватить весь сайт? :confused:

ak-flash 03.03.2005 23:13

Я знаю что про это уже говорили, но у меня траффик очень ограничен(только 5 рублей на счету осталось), поиск тоже результатов не дал, просто ответьте хотя бы можно или нет.

White Jordan 04.03.2005 01:02

В версиях выше 1.3 прибавляется соль что прибавляет 800.000 тысячь комбинаций. Вам нужно знать эту соль чтобы знать как формулируется хеш прежде чем как его будете брутфорсить. Поэтому качайте исходник форума сначало.

Что вам всё разжовавать надо? :confused:

KEZ 04.03.2005 01:20

Как же не Md5...
А какой же там алгоритм? )) Давай сюда хеш...

ak-flash 04.03.2005 12:48

Вот отснифал:
member_id=803; pass_hash=e1bcca547838cd9ed3fc334a38cfc8d8;

Это мои куки. Пасс 31337, но когда я пытаюсь расшифровать его (прогой MD5 Inside-"проверить пароль")нефига.
Если инеткряком подставлять куки то все впорядке я под любым пользователем прохожу.
Пытался расшифровать хэши других пользователе не получается(пользователей 47- вордлист на 30 мегов-должен был хотя бы один расшифроваться по теории вероятности) C хэшем я не ошибся несколько раз проверял. У меня есть опыт по взлому IPB 1.3.1 и проблем не было, а это вообще непонятно что.

KEZ 04.03.2005 12:58

session_id сдесь неуместно...

может просто хеш изменил чуток? букву стер

Незлобная Ламо 05.03.2005 01:52

Дай сылку на форум.

DEQ 05.03.2005 03:46

MD5 Inside тут не помможет. в IBP версии > 2.0
хэш по другому получается. Примерно так высчитывается md5 хэш пароля к неиу добавляется
значение converge_pass_salt, снова считается md5 ъэш и уже полученное значение заносится в куки.
так что если есть доступ к базе(sql injection) тогда отбрутить можно.
но не с MD5 Inside
я кстати писал для таких случаев свою программку.

White Jordan 05.03.2005 05:08

Ну так давай нам свою программу?

ak-flash 05.03.2005 12:18

Да. Deq.Пожалуста дай ссылку на свою программу.очень надо.

coyl 05.06.2005 17:03

куда пропал! давай программу! =)

kolorom 07.06.2005 01:03

8) Да будем глядеть что и как.

hacsoft 07.06.2005 13:14

В IPB 2 и > хэш формируется по такому алгоритму:
Код:

        /*-------------------------------------------------------------------------*/
        // Generate password
        /*-------------------------------------------------------------------------*/
       
        function generate_compiled_passhash($salt, $md5_once_password)
        {
                return md5( md5( $salt ) . $md5_once_password );
        }
       
        /*-------------------------------------------------------------------------*/
        // Generate SALT
        /*-------------------------------------------------------------------------*/
       
        function generate_password_salt($len=5)
        {
                $salt = '';
               
                srand( (double)microtime() * 1000000 );
               
                for ( $i = 0; $i < $len; $i++ )
                {
                        $num  = rand(33, 126);
                       
                        if ( $num == '92' )
                        {
                                $num = 93;
                        }
                       
                        $salt .= chr( $num );
                }
               
                return $salt;
        }

Т.е. хэшируется MD5 от канкотенации двух хэшей MD5: для первого это строка $salt, которая получается в результате работы функции generate_password_salt; для второго - сам пароль.

kolorom 07.06.2005 22:57

такс
 
подожди а как соль узнать :confused:

ее нужно с мускуля содрать! но как?
то что она из 5 символов включая знаки я знаю
;)

Как :(

coyl 08.06.2005 11:10

блин! так во вторых версиях скул инъекция работает, так что её можно тоже содрать... как и хэш... БУ-У-УГА-ГА-ГА!!!

coyl 08.06.2005 11:21

итого:
первый раз надо побирать по латинским малым буквами цифрам и по маске, с длиной 64 (32 от соли мы знаем(так как сперли из мискла саму соль, а затем получили её хэш) и 32 от самого пароля уже по буквам и цифирям) =)))
затем - отделяем последние 32 символа - и расшифровываем =)
дольше гораздо, но ничего не поделаешь... в принципе всё сводится к расшифровке двойного мд5. если знаем соль. но соль мы знаем из скул инжекшна=) вот. кто напишет прогу? =)

kolorom 08.06.2005 11:39

Пример иньекции на поимку соли продемонстрируй 8)

coyl 08.06.2005 11:41

ешё не знаю. я ток проснулся, поем - буду думать =)

coyl 20.06.2005 13:07

Кажется нашел...
в инвижне есть распространённый мод - галерея фоток. так вот в ней я обнаружил такую инъекцию:
при голосовании за фотку не фильтруется значение оценки. она подставляется в такой запрос-
Код:

UPDATE ibf_gallery_images SET ratings_total=ratings_total+$rating,
 ratings_count=ratings_count+1 WHERE id=266

здесь переменная $rating - это оценка, а id - номер картинки (он нам не пригодится) Вот. но что же можно сделать с запросом UPDATE?
В мискле начиная с версии 4.1 поддерживается подвыборка (sub select). то есть если мы подставим вместо оценки такой текст:
1, name=(select password from ibf_members where id=1)
то получится такой запрос:
Код:

UPDATE ibf_gallery_images SET ratings_total=ratings_total+1,
 name=(select password from ibf_members where id=1),
ratings_count=ratings_count+1 WHERE id=266

ну это я для примера... вот так можно записать в название картинки хэш пароля юзера.

НО:
я этот запрос привел просто для примера, так как сам я не знаю названий столбцов в таблицах галереи а так же где хранится соль. вот об этом я хотел вас спросить. если поможете - буду благодарен. =)

coyl 20.06.2005 13:13

собственно вопрос мой заключается в следующем:
как называются графы, в которой хранятся соль и хэш?

kolorom 20.06.2005 16:08

ibf_members_converge -> converge_id -> converge_pass_hash -> converge_pass_salt


ibf_members -> id -> member_login_key


Кстати может лучше зарегится и сметить себе айди группы ? на 4 !

ibf_members -> mgroup = 4

Вауля 8)))

2 coyl а как защититься от иньекций у меня просто сайт есть на ипб 1.3 там есть галлера и запара с рейтинго и в моде файов такаяже запара 8(

Database error in:
mySQL query error: UPDATE ibf_gallery_images SET ratings_total=ratings_total+,
ratings_count=ratings_count+1 WHERE id=1080

mySQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near ' ratings_count=ratings_count+1 WHERE id=1080' at line 1

mySQL error number: 1064


Нужно чето решать 8(

coyl 20.06.2005 16:22

ну я не специалист. просто наверно надо найти этот кусок кода и поставить там жесткую филтрацию на тип... вот... ну это общие фразы. как это сделать - надо подумать.

coyl 20.06.2005 16:24

А! нужно проверить, что переменная $rating лежит от 1 до 5. вот. а поменять группу не получится. так как таблица для апдэйта указана жестко.

coyl 22.06.2005 12:54

хм... вот какая штука получается... я тут поэксперементировал и нашел, то пароль все-таки хранится в мискле в первом мд5. это по адресу
ibf_members->legacy_password...
и в таком случае я ничего не понимаю... то есть изменился лишь алгоритм шифрования в куках, а с помощью инъекции можно переть обычные мд5. так чтоли получается?

coyl 23.06.2005 14:16

кароче. с legacy_password я разобрался. это только в тех форумах, которые были сконверчены. а вот с полями так и не разобрался. какие конкретно поля используются при генерировании логин кея? и в какой последовательности? я доделал сплоит, позволяющий это всё спереть. только как использовать - вот вопрос =)

KEZ 23.06.2005 19:31

Для этого нужно знать сальт из конфига

coyl 23.06.2005 20:30

Погоди. салт в конфиге или в мискле? я чё-та не догоняю. из мискла я его уже стопудово достаю. а вот про конфиг первый раз слышу. или там два салта юзается?

coyl 23.06.2005 20:53

ВСЁ! всё понятно формула такая:
md5(md5(converge_pass_salt).md59(парольюз ра))
это всё заносится в converge_pass_hash. в мискле!
вот. теперь дело за малым - спереть эти данные. Е!

KEZ 23.06.2005 20:56

а как ты их сопрешь то оттуда? пока ты не в админек ты не имеешь туда доступа.

но за исследование - спасибо

coyl 23.06.2005 21:49

читай выше. сплоитом. до 2.0.4 и с мисклом от 4.0 запросто достаются. =)

coyl 25.06.2005 02:05

усё. тема отработана. завтра видео сделаю.

coyl 25.06.2005 14:37

видео готово. ждем кеза

coyl 12.07.2005 22:44

кароче кеза не дождались. видео не выкладываю


Время: 01:16