Prototype pollution — довольно известная атака в таких языках, как JavaScript или Python, которая приводит к серьезным последствиям. Исследуя один популярный проект, я придумал, как можно эксплуатировать прототипы по‑новому, и решил поделиться этой идеей. В этой статье я расскажу, как работают прототипы, что такое prototype pollution и как еще можно эксплуатировать прототипы. Для примеров будем использовать JavaScript, но частично это применимо и к другим языкам на основе прототипов. Что такое Prototype Прототип — это механизм JavaScript, с помощью которого одни объекты наследуют свойства других. Для этого у объектов есть свойство proto , которое указывает на другой объект, чьи свойства они наследуют
