Как стать автором
Обновить

Превышение привилегий через манипуляцию с атрибутами аккаунта

Время на прочтение2 мин
Количество просмотров657
Автор оригинала: xBen

Сегодня мы увидим, как параметры могут привести к большим финансовым потерям для компании.

Давайте начнем с аккаунтом обычного пользователя на сайте, который представляет собой платформу электронной коммерции, где происходит покупка и продажа товаров. Допустим, сайт называется Example.com.

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

Первая мысль, которая пришла мне в голову — есть ли на этом сайте пользователи с более высокими привилегиями? И если есть, как их определить? Это администраторы, сотрудники или кто-то еще?

Существует два вида повышения привилегий — вертикальное и горизонтальное.

  • Вертикальное повышение привилегий — это когда пользователь получает доступ к привилегиям более высокого уровня, чем ему положено. Например, обычный пользователь каким-то образом получает права администратора и может управлять всем сайтом.

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

Хорошо, а как их искать? Когда я посмотрел JavaScript-файлы, я нашёл некоторые параметры и перешёл в Burp Suite, чтобы изучить их более детально. Да, я нашёл их в GET-запросе, а именно в GET /customer/{{ID}}. Я заметил эти две переменные:

  • isEmployee

  • isCorporate

Окей, здесь используется GET-запрос. Как теперь отправить запрос, который изменяет false на true? Как вам идея воспользоваться функцией "Match and Replace" в Burp Suite?

Это не сработало. Теперь давай попробуем отправить OPTIONS-запрос на /customer/{{ID}}.

Вау, этот эндпоинт принимает PATCH-запрос!

Теперь мы отправим PATCH-запрос на /customer/{{ID}}

И вот что получилось!

Теперь давайте вернёмся на сайт и перейдём к эндпоинту "checkout"!!!

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

Ещё больше познавательного контента в Telegram-канале — Life-Hack - Хакер

Теги:
Хабы:
0
Комментарии7

Публикации