Сегодня обсудим довольно интересную уязвимость:
Web Cache Deception.💡Что это такое?
Это атака, при которой злоумышленник может заставить закэшировать приватные данные как будто это статический файл. В итоге любой человек, перейдя по такой же ссылке, сможет получить эти данные.
🧩 В чем суть?
Веб-приложения часто кэшируют файлы с определёнными расширениями, например:
➖
.js➖
.css➖
.ico➖
.exeЕсли сервер не различает настоящие и поддельные статические ресурсы, он может случайно закэшировать динамический и чувствительный ответ.
📎 Пример
Допустим, у нас есть банковское приложение по адресу:
https://purple.bank.ru
У каждого пользователя есть личная страница:
https://purple.bank.ru/profile/1234
Где
1234 - это ID клиента.В обычных условиях другой пользователь не может получить доступ к этой странице.
Но если кэш настроен неправильно и смотрит только на расширение
URL, можно сделать следующее:1️⃣Сформировать ссылку с кэшируемым расширением:
https://purple.bank.ru/profile/1234.js
2️⃣Отправить её владельцу профиля с
ID 1234;3️⃣Он переходит по ссылке, сервер отдает содержимое и кэширует его;
4️⃣Мы переходим по той же ссылке и получаем его данные из кэша;
✍️Посмотреть разные варианты эксплуатации можно в следующих лабах:
✏️Exploiting cache server normalization for web cache deception
✏️Exploiting origin server normalization for web cache deception
✏️Exploiting path delimiters for web cache deception
✏️Exploiting path mapping for web cache deception
➥ ☕️ тг • 🤬чатик • ✍️посты
#web #writeup
