March 10, 2022

Idor на пальцах

НАШ КАНАЛ => https://t.me/termuxqew

Согласно определению OWASP, «небезопасные прямые ссылки на объекты возникают, когда приложение предоставляет прямой доступ к объектам на основе введенных пользователем данных. В результате этой уязвимости злоумышленники могут обойти авторизацию и получить прямой доступ к ресурсам в системе, например к записям базы данных или файлам» 1

Уязвимости IDOR (Insecure Direct Object references) - связанные с авторизацией, которые обычно приводят к раскрытию и потере конфиденциальной информации, если она существует в системе. Атака IDOR — одна из самых простых для объяснения.

Пример:

Давайте рассмотрим следующий URL-адрес: http://idorexample.com/profile?userID=100 , который возвращает

Student Name: Liisa
Student Email: [email protected]
CGPA: 4.2
Address: Abcdef, 123

А теперь представьте, просто изменив идентификатор пользователя на 101: http://idorexample.com/profile?userID=101

Student Name: Artur
Student Email: [email protected]
CGPA: 4.7
Address: Abcdef, 123

Если система отображает результат без надлежащей проверки авторизации, то это небезопасные прямые ссылки на объекты. Это самый простой пример. Это наиболее распространенная уязвимость, которую обычно упускают из виду, поскольку шаблон параметра отличается от веб-приложения к веб-приложению. С другой стороны, автоматические инструменты сканирования недостаточно умны, чтобы найти эту уязвимость. Это связано с тем, что проверки безопасности недостаточно интеллектуальны, чтобы знать, являюсь ли я законным пользователем или нет, пока я не использую вредоносную полезную нагрузку.

Влияние IDOR

Последствия IDOR не ограничиваются потерей конфиденциальной информации. Посмотрите на следующее условие.

http://idor.example.com/changePassword?userID=100
http://idor.example.com/deleteAccount?userID=101

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

Где существует IDOR

IDOR существует во многих местах, однако наиболее распространенными являются следующие:
1. GET-запрос
2. Страница входа
3. POST-запрос
4. Изменить пароль
5. API-запрос

IDOR на практике

У нас есть веб страница, на какой можем купить билеты.

Цена одного билета составляет 15 Евро. Что-то дорого, давайте используем уязвимость idor и закажем 1 билет за 1 евро:

  1. Перехватываем запрос через Burp:

2. Меняем значение ticket_price на цену (в моем случае 1) и отправляем запрос:

3. Наслаждаемся ценой в 1 Евро :)

Это был самый простой пример, на деле все будет сложнее

Дополнительные сведения см. на следующих страницах https://www.gracefulsecurity.com/idor-insecure-direct-object-reference/ https://www.owasp.org/index.php/Testing_for_Insecure_Direct_Object_References_(OTG-AUTHZ-004)