October 14, 2021

IDOR attack

⚠️ Автор не призывает к использованию полученных знаний в практических целях и не несет ответственности за любой возможный вред, причиненный материалом ⚠️

Всем привет! В этой статье мы поговорим про уязвимость, которая имеет название IDOR.

IDOR (Insecure direct object reference) -  в переводе это означает небезопасные прямые ссылки на объект. Другими словами, это уязвимость, благодаря которой злоумышленники могут получить доступ к файлам и данным сайта без разрешения администратора, выполненять действия с объектами системы (пользователями, банковскими счетами, товарами в корзине) за счёт манипуляций с идентификаторами доступа к этим объектам.

Пример

Во время регистрации в онлайн магазине пользователь заметил в окне браузера ссылку: https://insecure-website.com/static/12144. Первая часть ссылки мало интересует, а вот идентификационный номер: id=12144– вполне может помочь при взломе. Ради эксперимента, хакер решил вместо двух последних цифр «44» решил подставить «43» и ввести полученную ссылку в адресную строку. После чего он попал на страницу другого пользователя этого сайта, где может редактировать, удалять или копировать личную информацию.

Уязвимость IDOR с прямой ссылкой на статические файлы

Уязвимости IDOR часто возникают, когда конфиденциальные ресурсы находятся в статических файлах файловой системы на стороне сервера. Например, веб-сайт может сохранять сообщения чата на диск, используя увеличивающееся имя файла, и позволять пользователям получать их, посещая URL-адрес, подобный следующему:

https://insecure-website.com/static/12144.txt

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


Пример #1

Видим сайт:

Я хочу купить себе рюкзак. Довольно дешевый вариант => мне хочется купить ~10шт, но у меня лишь 800р и могу позволить себе только 2шт.

Для начала куплю 1, чтобы глянуть, как это происходит.

Открыв вкладку Network в браузере, можно посмотреть, куда и как идут запросы. Среди них есть и наш запрос после нажатия "купить". Как видим. Передаётся сколько шт и общая цена. А наша страница выглядит вот так.

Сайт будет иметь такой вид:

Попробуем отредачить запрос и купить 9шт за цену 1.

Отправляем запрос и смотрим результат.

9 рюкзаков за 400 рублей,разве не прекрасно?)


Практика #2

Видим сайт:

Перейдем в раздел Live chat и отправим в чат сообщение:

Нажмём view transcript и видим что началась загрузка .txt файла:

Открываем и видим в нём историю чата:

Сайт сохраняет историю чатов в .txt файлах, можем попытаться прочитать чужие сообщения.

Жмём Ctrl+Shift+I, открываем вкладку Network, чтоб посмотреть куда обращается сайт во время скачивания, то жмём view transcript ещё раз и видим:

Сайт обращается к /download-transcript, отправим запрос на сайт добавив в конце /download-transcript/1.txt

Началось скачивание файла! Открыв его, мы видим чужой диалог и пароль пользователя:

Можем залогинится под видим этого юзера и делать что душа пожелает))


Это были 2 простых примера IDOR атаки. Если вам стало интересно и хотите узнать ещё больше про IDOR, то гляньте это видео.

Всем спасибо за прочтение!

Подпишись:

Windef - тык