kasir
Пользователь
- Сообщения
- 13
Случилось как-то, что рядом с нашим офисом жильцы соседнего дома поставили себе шлагбаум. С парковкой в центре Москвы и так проблемы, а если еще и офисное здание неподалеку...в общем, жильцов можно понять. Но не давало покоя ощущение, что доступ к шлагбаумам могут получить далеко не только жильцы дома.
Стало интересно, кто вообще занимается установкой шлагбаумов и насколько активно. Для этого выходим из офиса на улицу и проводим разведку по открытым источникам на местности:
/attachments/rjw7zqgnku4-jpg.1772/
Компания, установившая шлагбаум
Переходим на сайт компании и продолжаем разведку уже в онлайне. Восклицательный знак в правом верхнем углу отправляет нас прямиком в "святая святых" любого веб-приложения - на страницу входа в админ-панель.
/attachments/iywfs-bj-n0-jpg.1773/
Админка для "старших по объектам"
Внизу можно увидеть едва заметную ссылку, предлагающую ознакомиться с возможностями личного кабинета в тестовом режиме. Почему бы и не ознакомиться?
/attachments/ci4suhibnca-jpg.1774/
Вход в личный кабинент от имени тестового аккаунта
Переходим по очень интересному URL -https://lk.amvideo-msk.ru/index.php?login=tеst - и попадаем в админ-панель, как нам и обещали на предыдущей странице. На открывшейся странице в глаза бросается еще один пользователь test14. Сразу же хочется подставить test14 в "интересный" URL вместо test:
/attachments/mowrwuhaxf4-jpg.1775/
Успешно вошли от имени test14. Данных стало чуть больше - это видно даже визуально, но не прав доступа. Походим по админке от имени этого аккаунта, посмотрим, что есть. В списке шлагбаумов всего один с названием "ТЕСТ", "Список клиентов" явно тестовый, как и "История проездов", "Добавление клиентов" недоступно, да и вообще большинство действий блокируется сообщением с текстом "Недостаточно прав".
Осталась вкладка "Управление КПУ", но и там почти все действия заблокированы, кроме просмотра стрима с камеры, встроенной в шлагбаум, и получения состояния оборудования:
/attachments/561he953kw0-jpg.1776/
Возможности тестового аккаунта
Немного странно, что эти действия были разрешены кому попало для вполне реального шлагбаума. Если можно смотреть стрим с камеры и получать состояние оборудования на одном КПУ(контрольно пропускное устройство), мешает ли что-то делать это на других? Посмотрим, как устроены запросы, которые отправляются при запросе стрима и состояния оборудования:
/attachments/f42uvgb84ie-jpg.1777/
Структура двух HTTP-запросов, управляющих КПУ
В обоих случаях в HTTP-запросах фигурирует числовой идентификатор(!). Не остается выбора, кроме как попробовать поподставлять другие идентификаторы в запросы:
/attachments/sh18afh_fmq-jpg.1778/
Просмотр чужих камер и состояния КПУ
Три случайно выбраных числовых идентификатора привели к трем разным объектам! От имени тестового пользователя! На самом нижнем шлагбауме даже видно, что из-за того, что статус панели - "не в сети", одна из камер не работает.
Интересно еще то, что запрос на получение состояния оборудования возвращает статусы только в том случае, если объект с переданным идентификатором существует. Благодаря этому можно "сбрутить" все идентификаторы КПУ простым перебором чисел, которых не сильно больше 1500, судя по данным официального сайта (всего в Москве установлено 7082 шлагбаума).
Выходит, в приложении компании по установке шлагбаумов есть некоторая системная уязвимость, из-за которой не проверяется, можно ли тому, КТО запросил, отдавать то, ЧТО он запросил, а значит приключение только начинается!
Читаем тикеты тех.поддержки (можно даже создавать тикеты-задачи от имени любого пользователя, в т.ч администраторов):
/attachments/zueiky4lxao-jpg.1779/
Получаем адреса и телефонные номера шлагбаумов для их открытия:
/attachments/yul1ditgq0c-jpg.1780/
Получаем списки жильцов на объектах с персональной информацией (номера машин, телефонов, квартир):
/attachments/qw0oxhlvtj0-jpg.1781/
ПРОДОЛЖЕНИЕ СНИЗУ
Стало интересно, кто вообще занимается установкой шлагбаумов и насколько активно. Для этого выходим из офиса на улицу и проводим разведку по открытым источникам на местности:
/attachments/rjw7zqgnku4-jpg.1772/
Компания, установившая шлагбаум
Переходим на сайт компании и продолжаем разведку уже в онлайне. Восклицательный знак в правом верхнем углу отправляет нас прямиком в "святая святых" любого веб-приложения - на страницу входа в админ-панель.
/attachments/iywfs-bj-n0-jpg.1773/
Админка для "старших по объектам"
Внизу можно увидеть едва заметную ссылку, предлагающую ознакомиться с возможностями личного кабинета в тестовом режиме. Почему бы и не ознакомиться?
/attachments/ci4suhibnca-jpg.1774/
Вход в личный кабинент от имени тестового аккаунта
Переходим по очень интересному URL -https://lk.amvideo-msk.ru/index.php?login=tеst - и попадаем в админ-панель, как нам и обещали на предыдущей странице. На открывшейся странице в глаза бросается еще один пользователь test14. Сразу же хочется подставить test14 в "интересный" URL вместо test:
/attachments/mowrwuhaxf4-jpg.1775/
Успешно вошли от имени test14. Данных стало чуть больше - это видно даже визуально, но не прав доступа. Походим по админке от имени этого аккаунта, посмотрим, что есть. В списке шлагбаумов всего один с названием "ТЕСТ", "Список клиентов" явно тестовый, как и "История проездов", "Добавление клиентов" недоступно, да и вообще большинство действий блокируется сообщением с текстом "Недостаточно прав".
Осталась вкладка "Управление КПУ", но и там почти все действия заблокированы, кроме просмотра стрима с камеры, встроенной в шлагбаум, и получения состояния оборудования:
/attachments/561he953kw0-jpg.1776/
Возможности тестового аккаунта
Немного странно, что эти действия были разрешены кому попало для вполне реального шлагбаума. Если можно смотреть стрим с камеры и получать состояние оборудования на одном КПУ(контрольно пропускное устройство), мешает ли что-то делать это на других? Посмотрим, как устроены запросы, которые отправляются при запросе стрима и состояния оборудования:
/attachments/f42uvgb84ie-jpg.1777/
Структура двух HTTP-запросов, управляющих КПУ
В обоих случаях в HTTP-запросах фигурирует числовой идентификатор(!). Не остается выбора, кроме как попробовать поподставлять другие идентификаторы в запросы:
/attachments/sh18afh_fmq-jpg.1778/
Просмотр чужих камер и состояния КПУ
Три случайно выбраных числовых идентификатора привели к трем разным объектам! От имени тестового пользователя! На самом нижнем шлагбауме даже видно, что из-за того, что статус панели - "не в сети", одна из камер не работает.
Интересно еще то, что запрос на получение состояния оборудования возвращает статусы только в том случае, если объект с переданным идентификатором существует. Благодаря этому можно "сбрутить" все идентификаторы КПУ простым перебором чисел, которых не сильно больше 1500, судя по данным официального сайта (всего в Москве установлено 7082 шлагбаума).
Выходит, в приложении компании по установке шлагбаумов есть некоторая системная уязвимость, из-за которой не проверяется, можно ли тому, КТО запросил, отдавать то, ЧТО он запросил, а значит приключение только начинается!
Читаем тикеты тех.поддержки (можно даже создавать тикеты-задачи от имени любого пользователя, в т.ч администраторов):
/attachments/zueiky4lxao-jpg.1779/
Получаем адреса и телефонные номера шлагбаумов для их открытия:
/attachments/yul1ditgq0c-jpg.1780/
Получаем списки жильцов на объектах с персональной информацией (номера машин, телефонов, квартир):
/attachments/qw0oxhlvtj0-jpg.1781/
ПРОДОЛЖЕНИЕ СНИЗУ