- Регистрация
- 13 Июн 2025
- Сообщения
- 14
- Реакции
- 1
- Баллы
- 3
Сегодня разберём реальную угрозу, о которой мало говорят — Client-Side Prototype Pollution в популярных JavaScript-библиотеках.Всем привет!
Суть уязвимости
Многие сайты используют сторонние JS-библиотеки (jQuery, Lodash, Angular и т.д.). Если в них есть уязвимость Prototype Pollution, злоумышленник может:
- Перехватывать данные пользователей (формы, куки)
- Внедрять XSS даже при наличии CSP
- Ломать логику приложения
Реальный пример из жизни
Уязвимость в Lodash (CVE-2020-8203)
Библиотека Lodash до версии 4.17.15 содержала Prototype Pollution в функции
Код:
_.merge()
Эксплойт:
Код:
javascript
_.merge({}, JSON.parse('{"__proto__":{"isAdmin":true}}'))
Последствия:
- Можно переопределить
Код:
Object.prototype.fetch
- Подмена
Код:
Object.prototype.toString
- Можно переопределить
Как этим пользуются хакеры?
1. Сканируют сайты на наличие уязвимых библиотек
2. Ищут параметры, которые передаются в опасные функции
3. Внедряют payload через URL:
Код:https://site.com/search?__proto__[hacked]=true
Как защититься?
Для разработчиков:
1. Обновляйте зависимости регулярно
2. Замораживайте прототипы:
Код:javascript Object.freeze(Object.prototype);
Для админов:
1. Включайте CSP сКод:unsafe-eval: none
Код:html <script src="https://code.jquery.com/jquery.js" integrity="sha384-..."></script>
P.S. Это не теоретическая угроза — в 2023 году такие атаки зафиксированы на eBay, Spotify и других крупных сайтах.