На странице
apsyleg1 мин
#portswigger #access-control #web-security

Роль пользователя меняется в профиле

Лаборатория

User role can be modified in user profile · Apprentice

Решение

Дано

This lab has an admin panel at /admin. It's only accessible to logged-in users with a roleid of 2.

Solve the lab by accessing the admin panel and using it to delete the user carlos.

You can log in to your own account using the following credentials: wiener:peter

Анализ задания

Тут похоже конкретная наводка — админка доступна пользователям с roleid=2, и роль, похоже, можно менять в профиле пользователя. Нужно попасть в админку и удалить пользователя carlos.

Разведка

Пойдём и посмотрим профиль пользователя — там форма смены почты. Окей, поменяем. Улетает:

POST /my-account/change-email
{"email":"xxx@xxx.ru"}

В ответ:

{
  "username": "wiener",
  "email": "xxx@xxx.ru",
  "apikey": "sNK5lPO4Q9iCMxU18Tevh5HTKt9NmR9Y",
  "roleid": 1
}

Интересно — получается, можно вместе с email передать роль и поменять её? Отправляем запрос в Repeater, добавляем поле roleid в запрос и ставим значение 2. Отправляем — вуаля, роль поменялась.

Перезагружаем страницу, доступна админка. Удаляем пользователя. Лаба решена!