Показать сообщение отдельно

  #70  
Старый 14.06.2012, 22:25
RuDefc0n
Познающий
Регистрация: 02.06.2012
Сообщений: 33
Провел на форуме:
7074

Репутация: 0
По умолчанию

Собственно найден сей способ мною, когда столкнулся с тем, что смог вытащить passwd, а расшифровывать его не было времени + пароль оказался совсем не стандартным.

В общем для старта нам нужно:

1) Что-то чем можно редактировать и абортить запросы от браузера серверу(я использую charles)

2) Собственно сам passwd и логин(имейте ввиду, что отображаемый ник не всегда одно и то же, что логин)

Смотрим исходник главной страницы и ищем форму:

Код:

Обратите внимания на последнюю часть, она нам пригодится.

Вся особенность данного метода, что для логина используется дважды sha1 пароль, причем делается это через js скрипт.

Отправляемый пакет имеет строку passwd криптующийся по формату:

Код:
sha1(sha1(lower(username).password).1f73b88c08c6ecf9706286d01f92ea1d);
Т.е. по сути для логина достаточно нашего passwd, который как известно равен sha1(lower(username).password

1) Формируем закрытый ключ, который бы обосновывался на описанном ранее методе к нужному нами пользователю

2) Выставляем бряку на запрос к логин-форме

3) Логинимся под рандомными именами и паролями

4) Редактируем запрос на нужный нам(вставляя логин/пароль админа)

5) Отправляем

6) ....

7) Льем шелл из-под админа путем добавления новой темы.

PS Актуально для SMF 2.0.2 - на прошлых версиях не проверялось.
 
Ответить с цитированием