Про скрытые возможности
Ранее я уже рассказывал про скрытые параметры и приводил примеры того, как можно автоматизировать их поиск. Однако, в некоторых случаях, бывает достаточно посмотреть параметры в истории запросов и попробовать использовать их в других конечных точках, где они не используются.
В качестве примера приведу приложение, где в профиле пользователя была возможность изменить
Кроме того, таким способом можно было получить Stores XSS, так как не предусматривалось изменение параметра пользователем и он оставался без должной фильтрации.
Ранее я уже рассказывал про скрытые параметры и приводил примеры того, как можно автоматизировать их поиск. Однако, в некоторых случаях, бывает достаточно посмотреть параметры в истории запросов и попробовать использовать их в других конечных точках, где они не используются.
В качестве примера приведу приложение, где в профиле пользователя была возможность изменить
email
, но не было возможности менять имя пользователя. При смене почты отправлялся запрос вида:PUT /api/customers/11111111/ HTTP/2
Host: test.com
...
{"email":"newEmail@email.com"}
Однако, если заменить параметр email
на firstName
, который был замечен при регистрации, то можно обойти ограничение и изменить значение имени пользователя.Кроме того, таким способом можно было получить Stores XSS, так как не предусматривалось изменение параметра пользователем и он оставался без должной фильтрации.
PUT /api/customers/11111111/ HTTP/2
Host: test.com
...
{"firstName":"<img src='x' onerror='alert(1)'>"}