SQL-инъекция в скрытом API эндпоинте
SHADOW:GroupОригинал статьи на английском тут.
В этой статье я поделюсь тем, как была обнаружена данная уязвимость.
Все началось на этом простом веб-сайте, который содержит только страницу активации учетной записи.

Вводим нашу почту, нажимаем Submit и перехватываем HTTP запрос:

Здесь начинается самое интересное. Я начал фаззить конечную точку API на /digital/pgidp/v1/FUZZ, используя HTTP метод POST с помощью инструмента FFUF, и обнаружил 2 скрытые конечные точки:

Я отправил POST-запрос на эндпоинт /digital/pgidp/v1/clients. Однако, сделав запрос, я получил сообщение об ошибке, четко указывающее на то, что тут требуется параметр "email".

Я исправил HTTP-запрос, указав требуемый параметр и соответствующее ему значение. Однако на изображении ниже вы можете видеть, что я добавил одинарную кавычку (') в конце адреса электронной почты, что привело к появлению другого сообщения об ошибке.

Затем, я добавил одинарную кавычку (') в конце адреса электронной почты, что привело к появлению другого сообщения об ошибке.

Итак, потратив несколько часов, я в конце концов обнаружил, что СУБД - это Azure CosmosDB. В результате, я создал полезную нагрузку, которая вызвала 10-секундную задержку по времени. Команда приняла этот пэйлоад таким, каким он был, и выплатила баунти.

На этом все, спасибо за просмотр!
Подпишись на канал - @shadow_group_tg.