Сломанный контроль доступа + неправильная конфигурация = красивая эскалация привилегий
привет его/ее
Этот рассказ будет об уязвимости повышения привилегий, которую я обнаружил недавно
- На этом сайте есть 2 роли создателя/владельца учетной записи.
- Пользователь-владелец учетной записи является администратором и имеет доступ к полным пользователям учетной записи и другим функциям.
- Роль создателя может создавать только некоторые вещи в организации, но он не может получить доступ ни к чему, например к информации о пользователе, UUID и другой информации организации/PII.
- Я попробовал большинство конечных точек, чтобы найти сломанный контроль доступа, но большинство из них 403 было запрещено, только одна конечная точка позволила мне прочитать информацию о пользователях / PII.

GET /v1/account/customer/users?includeDetails=true HTTP/1.1 Host: dontlookhere Cookie: FewRoleUserCookies User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:106.0) Gecko/20100101 Firefox/106.0 Accept: application/json, text/plain, */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: https:// dontlookhere Dnt: 1 Sec-Fetch-Dest: пусто Sec- Fetch-Mode: cors Sec-Fetch-Site: тот же источник Te: трейлеры Соединение: близко

- Неработающий контроль доступа выше, который я обнаружил, конечная точка позволила мне получить доступ к информации о пользователе организации, такой как электронная почта, номер телефона, UUID, адрес и другие
- Кроме того, большинство функций возвращают запрещенные 403, добавление пользователя, удаление пользователя и другие функции записи возвращают 403.
- Только одна функция была выполнена и вернула 200 для учетной записи роли пользователя с несколькими пользователями.
- Итак, я попробовал этот запрос
- В приведенном выше запросе я обнаружил, что смог изменить статус пользователя на деактивацию без 403, и пользователь изменил статус на деактивированный и может повторно активировать его.
- Но во-вторых, здесь я смог повысить свою роль с создателя до менеджера аккаунта, используя функцию смены роли.
[1]
Роль [2] — создатель, а роль [1] — менеджер учетной записи.
Поэтому я заменил файлы cookie на файлы cookie учетной записи роли создателя и изменил UUID на тот же UUID учетной записи роли создателя. Я получаю его из сломанного контроля доступа выше, а также я смог редактировать роли любых других пользователей, потому что мне удалось получить там UUID

- Запрос, выполненный несколькими пользователями, и что?
- И это здорово, роль учетной записи была изменена на менеджера учетной записи, и теперь я администратор организации :)
- Итак, функции, на которые я могу эскалировать:

Доступ к PII/информации пользователя
Изменить мои роли/ роли пользователей и получить роль владельца учетной записи
Спасибо за чтение, надеюсь, у вас будут прекрасные дни, пока мы не встретимся снова
Социальные сети:
Linkedin.com/in/m359ah
Twitter.com/m359ah