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, то гляньте это видео.