же так…
Прям недавний случай, знакомый разраб ботов для дискорда открыл доступ к команде eval для администраторов серверов, что же могло пойти не так ;D
Ой, ну это ваще надо быть очень-очень бесстрашным человеком. У меня стояла такая задача, в итоге я шаблоны сделал на простейшем Templates, ибо jinja2 фактически позволяет выполнять произвольный код в шаблонах… А так - на самом деле - это настолько неочевидно новичку… ну подумаешь eval… ну удалю globals, locals из области видимости и нормуль… Но тут… надо хотя бы догадываться что тут может всё пойти не так, чтобы правильно пойти гуглить и нагуглить таки нужный тред на SF где описаны 1000 и 1 способ сбежать из такой “песочницы”. И вот для этого нужно базовое понимание теории.
Впрочем, людей которые считают что мат-часть не нужна и достаточно просто знать какие кнопки нажимать - их много. Вспоминаем ту же аварию на ЧАЭС.
Там даже ограничений не было, ты мог в прямом смысле сделать /eval base.query("DROP TABLE users");
Обсуждают сегодня