Кусочек из моей новой книги. Напоминаю, что сейчас можно оформить предзаказ на данную к... — 10 августа 2026 г. в 08:32:56.559
Кусочек из моей новой книги. Напоминаю, что сейчас можно оформить предзаказ на данную книгу, по цене 899 ₽. На релизе цена будет 1299 ₽. Содержание книги: https://vk.ru/@hacker_timcore-soderzhanie-knigi-myshlenie-hakera Глава 6. Эксплуатация бизнес-логики - Нарушение контроля доступа (IDOR): когда код надежен, но логика абсурдна Когда мы говорим о взломе, массовое сознание рисует картины внедрения сложных бинарных эксплойтов, переполнения буфера или расшифровки криптографических ключей. Индустрия информационной безопасности тратит миллиарды долларов на защиту от этих угроз: внедряются безопасные фреймворки, параметризованные SQL-запросы, многофакторная аутентификация и сложные алгоритмы шифрования. Но что, если я скажу вам, что одна из самых разрушительных и распространенных уязвимостей в современном интернете вообще не связана с обходом криптографии или инъекциями кода? Что, если для получения полного доступа к финансовым документам, медицинским картам или личной переписке достаточно просто изменить одну цифру в адресной строке? Добро пожаловать в мир Insecure Direct Object Reference (IDOR), который в современных классификациях API (OWASP API Top 10) получил название Broken Object Level Authorization (BOLA). Слепота контроллеров: Аутентификация против Авторизации Чтобы понять природу IDOR, необходимо четко разделить два фундаментальных понятия, которые разработчики постоянно путают: аутентификацию и авторизацию. Аутентификация отвечает на вопрос: «Кто ты такой?». Система проверяет ваш логин, пароль, OTP-код из SMS и выдает вам валидный токен сессии (например, JWT).Авторизация отвечает на вопрос: «Имеешь ли ты право делать то, что просишь, с этим конкретным объектом?». Паттерн мышления разработчика часто дает сбой на этапе транзита данных от интерфейса к базе данных. Представьте мобильное приложение клиники. Пользователь хочет посмотреть результаты своих анализов. Приложение отправляет HTTP-запрос:GET /api/v1/patients/8842/records HTTP/1.1Authorization: Bearer <токен_пациента_8842> Как мыслит создатель бэкенда? Он пишет middleware (промежуточный слой), который перехватывает запрос и проверяет JWT-токен. Подпись верна, срок действия не истек, пользователь легитимен. Middleware передает управление контроллеру базы данных. Контроллер берет цифру 8842 из URL, выполняет запрос SELECT * FROM records WHERE patient_id = 8842 и возвращает результат. Код надежен. Никакой SQL-инъекции здесь нет, фреймворк всё заэкранировал. Но логика абсолютно абсурдна. Система убедилась, что запрос пришел от авторизованного клиента клиники. Но она забыла задать главный вопрос: «Принадлежит ли пациент с ID 8842 тому человеку, чей токен сейчас используется?». Мы открываем Burp Suite, перехватываем этот запрос и меняем одну цифру: GET /api/v1/patients/8843/records HTTP/1.1Authorization: Bearer <токен_пациента_8842> Бэкенд снова проверяет наш токен (он по-прежнему валиден), берет из URL цифру 8843 и послушно отдает нам медицинскую карту чужого человека. Система поверила, что раз мы авторизованы в приложении, то имеем право запрашивать любые объекты, ID которых сможем угадать. Weaponization: Автоматизация хаоса В реальных условиях баг-хантер не перебирает цифры руками. Мы автоматизируем этот процесс, превращая единичную утечку в массовый дамп данных. Используя инструмент Burp Suite Intruder (тип атаки Sniper), мы выделяем числовой идентификатор §8842§ как полезную нагрузку и загружаем словарь из 10 000 чисел. Intruder генерирует тысячи запросов в минуту, подставляя последовательные ID. Мы сортируем ответы по длине (Content-Length) и спокойно скачиваем всю базу данных клиники, просто просматривая те ответы, размер которых отличается от стандартной ошибки "Доступ запрещен" (хотя, при классическом IDOR, мы вообще не увидим ошибок). Но настоящие профессионалы идут дальше. Они используют плагины вроде Autorize для Burp Suite. Этот плагин позволяет автоматизировать поиск IDOR в фоновом режиме. Мы авторизуемся в системе под двумя разными пользоват

