· Что такое повышение привилегий:

Доступ к тем ресурсам, для которых у пользователя нет авторизации, путем повышения привилегий, осуществляется в разделе Повышение привилегий.

Есть несколько способов добиться этого, например, изменив пользователя, получив прямой доступ к URL-адресу. Конечная цель злоумышленника - получить доступ к конфиденциальным данным, токенам API, минуя пользовательские элементы управления или выполняя какие-либо вредоносные действия. Он бывает двух видов:

i. Горизонтальное повышение привилегий: если пользователь обращается к ресурсу другого пользователя с правами доступа того же уровня, это называется горизонтальным повышением привилегий.

Как Пользователь «A» может пользоваться привилегиями пользователя «B».

ii. Вертикальное повышение привилегий: если пользователь получает доступ к информации, у кого из пользователей больше привилегий, чем у него, в основном, привилегии суперпользователя (администратора), то это называется вертикальными привилегиями. эскалация.

Как «обычный пользователь» может пользоваться привилегиями «администратора».

· Почему происходит повышение привилегий?

Причин тому много. Позвольте мне сосредоточиться на некоторых:

я. Слабый контроль доступа: контроль доступа сообщает нам, кто мы такие: если мы администраторы, то у нас есть полномочия администратора, но из-за слабого контроля доступа на конечных точках мы можем получить доступ к роли администратора.

II. Социальная инженерия играет в этом очень важную роль. Для поиска пользователей, которые могут быть использованы с повышением привилегий, и после поиска они пытаются повысить привилегии.

· Эксплуатация:

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

Если мы перехватим запрос на вход, мы увидим токен CSRF с учетными данными.

Кроме того, все эти параметры являются обязательными, мы не можем отправить их пустыми или изменить имя пользователя на «administrator», это дало мне ошибку неверных учетных данных. Так вот

После входа в приложение у нас есть функция «Сменить пароль».

Перехват этого запроса

Если я изменю имя пользователя на «administrator» и оставлю поле отдыха как есть.

В приложении говорится

Итак, давайте попробуем удалить поле текущего пароля из запроса и посмотрим, что произойдет.

Как только я изменил и отправил запрос, пароль был успешно изменен.

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

Когда я вошел в систему с администратором имени пользователя с паролем, который я использовал при изменении, я могу войти в систему с администратором и также могу получить доступ к панели администратора.

· Исправление

я. Установите хорошую политику для контроля доступа.

II. Следуйте политике минимальных привилегий пользователей. Не нужно давать слишком много прав каждому пользователю.

iii. Не устанавливайте учетные данные по умолчанию для доступа.