Уязвимости
Небезопасная прямая ссылка на объект (IDOR)
Также известно как: IDOR, Уязвимость прямых ссылок на объекты
Определение
Дефект контроля доступа: приложение раскрывает ссылки на внутренние объекты и позволяет пользователю изменять их для доступа к чужим данным.
IDOR возникает, когда endpoint использует переданный пользователем идентификатор (числовой ID, UUID, имя файла, номер счёта) для чтения или изменения объекта без проверки прав вызвавшего на этот конкретный объект. Последовательные ID и предсказуемые ссылки делают эксплуатацию тривиальной, но и UUID небезопасны, если их можно угадать или раскрыть. IDOR — один из самых частых багов в bug bounty и главная причина утечек в мультитенантных системах. Защита: серверная проверка владельца на каждый запрос, ограничение запросов текущим пользователем/тенантом, косвенные ссылки (непрозрачные сессионные сопоставления), автоматические тесты на горизонтальный доступ.
Примеры
- Изменить /invoices/1042 на /invoices/1043 и прочитать счёт другого клиента.
- Изменить параметр URL аватара, чтобы перезаписать аватар другого пользователя.
Связанные термины
Нарушенный контроль доступа
Класс уязвимостей, при которых правила авторизации отсутствуют или применяются неверно, давая пользователям выполнять действия или получать данные сверх их прав.
Горизонтальное повышение привилегий
Уязвимость, позволяющая пользователю получить доступ к ресурсам или операциям другого пользователя того же уровня привилегий, не повышая свои права.
Подмена параметров
Атака, при которой злоумышленник изменяет параметры HTTP-запросов, cookie или скрытые поля форм, чтобы повлиять на поведение приложения.
API Security
API Security — definition coming soon.
OWASP Top 10
OWASP Top 10 — definition coming soon.