Погромисты

Nov 15, 2016 19:07

Разбираю ядро скриптового фреймворка, который нам навязали амеры ( Read more... )

Leave a comment

Comments 3

catgirlnuku November 16 2016, 03:23:14 UTC

армейским способом. в любой непонятной ситуации строй лс на взлетке, а потом уж можно подумать что делать)))

Reply


Мимокрокодя mishkatormoz November 22 2016, 21:57:06 UTC
Ну кстати правильно делает - eval на данные из внешнего мира так себе план. Я бы вот не взялся доказывать, что через парсер нельзя никакую гадость пропихнуть. Надо ли обходить реально все функции из всех модулей - то вопрос отдельный.

Reply

Re: Мимокрокодя elglin November 23 2016, 06:50:32 UTC
Во-первых, данные не совсем из внешнего мира, они представляют собой "программу" на псевдоязыке.
Во-вторых, санитизировать ввод там достаточно просто. "[A-Za-z]+\.[A-Za-z]+", при этом до точки нечто, что можно после обработки скормить в Import-Module (и радостно свалиться в Exception, если что не так), а после точки нечто из фиксированного набора, по которому все равно switch.

Оно понятно, что в изначальном посте этих подробностей не было.
Я сам не сторонник eval-а (строго говоря, тут даже не eval, а "& $func_name", ибо PowerShell же), но тут имхо как раз тот случай "динамического кода", для которого он годен.

Reply


Leave a comment

Up