В JavaScript нашли ещё один способ вызывать функции без скобок

Yet another way to invoke functions without parentheses

Автор демонстрирует новый метод вызова произвольных функций в JavaScript без использования круглых скобок. Приём основан на переопределении Error.prepareStackTrace, чтобы генерировать функции через конструктор Function, и манипуляции Array.prototype.toString для подстановки полезной нагрузки. Вызов происходит через трюк с valueOf. Итоговый эксплойт занимает несколько строк и может быть выполнен в консоли браузера.

теперь, если мы соберём всё вместе — генерацию функции с помощью prepareStackTrace и способ преобразования массивов в произвольные строки, — мы можем генерировать произвольные функции на JavaScript.

Ещё за этот день

2026-10-16