IDOR уязвимость на практике

IDOR уязвимость на практике

Одна из наиболее критических уязвимостей, перечисленных в топ-10 OWASP, это уязвимость IDOR ( Insecure Direct Object Reference). В статье поговорим об уязвимости IDOR и разберемся, как злоумышленник эксплуатируя уязвимости Broken Authentication может выполнить атаку IDOR.

Еще по теме: Уязвимость IDOR на примере bWAPP

Что такое уязвимость IDOR

Аутентификация — проверка личности пользователя и предоставление этому пользователю доступа к определенным запросам, если пользователь аутентифицирован. Но если пользователь не аутентифицирован и может просматривать файлы, то есть открывать файлы неправильным образом, это называется Broken Authentication (нарушенная аутентификация).

В веб-приложении, когда пользователь генерирует, отправляет или получает запрос с сервера, существуют некоторые HTTP-параметры, такие как « id», « uid», « pid» и т. д., которым пользователь был назначен уникальные значения. Злоумышленник может видеть такие значения параметров в кукисах, заголовках или захваченных пакетах Wi-Fi. С помощью этого злоумышленник может изменять эти значения, и такие изменения могут привести к IDOR.

IDOR атака

Некоторые примеры, демонстрирующие ненадежные данные, которые можно изменять с помощью IDOR:

Здесь мы видим, что uid в урле кажется уязвимым и может быть изменен злоумышленником для обхода аутентификации.

Статья в образовательных целях и предназначена для обучения этичных хакеров. Баг Баунти — это программа, которую владелец сайта (web-приложения) проводит для привлечения сторонних специалистов к поиску уязвимостей. При участии в программе Bug Bounty нужно действовать этично и придерживаться установленных правил. Не забывайте, что несанкционированный взлом является незаконным и расценивается, как уголовное преступление.

Типы IDOR

Существует различные виды IDOR:

  • Directory Traversal — также известна как атака Path Traversal, при которой злоумышленник может получить доступ к файлам и папкам. Если в веб-приложении существует уязвимость Directory Traversal, злоумышленник сможет просматривать некоторые чувствительные файлы или папки, такие как изображения, темы, скрипты и т. д.
  • URL Tampering — это изменение значения параметра в URL-адресе. Например, предположим, что есть URL-адрес примера, который выглядит примерно так: http://example.com/category/photos_id=1. В этом параметре мы имеем разрешение на просмотр данных с ID « 1». Но если мы изменим значение с 1 на 2, например, http://example.com/category/photos_id=2, и если мы сможем просматривать данные этого конкретного урла, это будет URL Tampering.
  • Cookie ID Manipulation — манипуляция с кукисами. Обычно кукисы используются для хранения и обмена данных между клиентом и сервером. Это помогает идентифицировать конкретных пользователей. В таких случаях, если существует уязвимость IDOR, может появиться возможность изменить идентификатор cookie. Например, в веб-приложении есть идентификатор cookie, который может выглядеть так: _gid=123456, который относится к пользователю A, и другой идентификатор cookie _gid=789012, который относится к пользователю B. Таким образом, если пользователь A может изменить значение _gid и заменить идентификатор пользователя B, и просматривать информацию, которая принадлежит пользователю B, тогда это IDOR.

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

В приведенном выше коде злоумышленник изменит параметр accts в веб-приложении и сможет ввести несколько номеров счетов для получения информации.

Выполнение атаки IDOR

Теперь давайте рассмотрим IDOR на практике. Для демонстрации нам понадобиться инструмент Burp Suite.

Шаг 1: Перейдите на сайт portswigger.net.

Шаг 2: После входа в систему перейдите на страницу access lab.

Шаг 3: Теперь нажмите на Live chat. Вы увидите, что чатбот подключен. Теперь просто отправьте ему произвольный текст.

Выполнение атаки IDOR

Шаг 4: Теперь откройте Burp Suite и захватите запрос для просмотра транскрипции.

Шаг 5: В Burp Suite перейдите на вкладку HTTP history и щелкните по захваченному запросу на скачивание транскрипции.

Эксплуатация уязвимости IDOR

Шаг 6: Теперь отправьте запрос в Repeater и нажмите Send. Вы увидите свои данные чата.

IDOR уязвимости эксплуатация

Шаг 7: Обратите внимание на адрес после параметра GET, там написано 4.txt. Изменим значение на 1.txt и посмотрим, что произойдет.

IDOR уязвимость

Шаг 8: Теперь, если вы обратите внимание на выделенный текст во вкладке ответа, там видны пароли. Давайте войдем на сайт, используя этот пароль, и посмотрим, сможем ли мы получить доступ к этому пользователю.

IDOR уязвимость

Мы получили доступ и успешно изменили адрес электронной почты.

Устранение уязвимости IDOR

  • Избегайте отображения приватных объектных ссылок, таких как ключи или имена файлов.
  • Параметры должны быть правильно проверены на валидность.
  • Должна выполняться проверка всех ссылочных объектов.
  • Токены должны быть сгенерированы таким образом, чтобы они были связаны только с пользователем и не являлись общедоступными.
  • Используйте случайные идентификаторы, чтобы их было сложнее угадать.
  • Проверка пользовательского ввода должна быть правильно реализована.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер: компьютерный ниндзя и мастер цифровых тайн.

Добавить комментарий