Про скрытые возможности

Ранее я уже рассказывал про скрытые параметры и приводил примеры того, как можно автоматизировать их поиск. Однако, в некоторых случаях, бывает достаточно посмотреть параметры в истории запросов и попробовать использовать их в других конечных точках, где они не используются.

В качестве примера приведу приложение, где в профиле пользователя была возможность изменить 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)'>"}



*

Отправить комментарий (0)
Новые Старые