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

Обход method-based access control

Лаборатория

Method-based access control can be circumvented · Apprentice

Решение

Дано

This lab implements access controls based partly on the HTTP method of requests. You can familiarize yourself with the admin panel by logging in using the credentials administrator:admin.

To solve the lab, log in using the credentials wiener:peter and exploit the flawed access controls to promote yourself to become an administrator.

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

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

Разведка

Залогинимся и посмотрим, как работает админка. Видим ссылку «Admin panel». Тут есть селектор выбора пользователя и 2 кнопки — по сути означают «Сделать админом» и «Убрать из админов». Попробуем сделать админом пользователя wiener и уберём его из админов.

Запрос:

POST /admin-roles
username=wiener&action=upgrade

И вариант с action=downgrade.

Попробуем зайти под пользователем wiener и выполнить этот запрос на повышение прав — «Unauthorized».

Пробуем поменять POST на GET — «Missing parameter 'username'». О, передадим параметр в URL тогда:

GET /admin-roles?username=wiener&action=upgrade

Прошло! Лаба решена.