Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Реклама на форуме платная! Обращаться к Admin.
    Произошла смена домена с maza.one на maza1.top!!!

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

  • Автор темы Автор темы zender
  • Дата начала Дата начала
Статьи форума

zender

Moderator
Команда форума
LV
0
 
Регистрация
Окт 17, 2022
Сообщения
870
Реакции
91
Награды
1
Сегодня мы увидим, как параметры могут привести к большим финансовым потерям для компании.

bb3a5f59891d35fbce7aa62073a30ea9.png

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

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

b1f752653a9450611ce26ff1a867647c.png

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

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

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

  • isEmployee
  • isCorporate
24b25b24c4eb1d0ec29bfe6d4baab569.png

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

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

0eeabbccdea859c14c08d5a8539a241b.png

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

576ebc2bfa6dcb57d648f1ce34f98983.png

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

5e53c0c5fba38c1d7f68098dc97e1805.png

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

190e99a7b3664e809cd6afa55c927f2a.png

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

f22b6e8cb185ede4d440b1097fe2de1d.png

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

a1cb2a86cc7a8958b7d0ffdf3dcd7e13.png

Источник
 

Пинг форума и аптайм

Averaged results for https://maza.one

uptime counter
Назад
Сверху