当使用ruby/rails 时,我正试图解决远程代码执行漏洞contantize
。
我知道能够为服务器提供任何类名可能有潜在的危险,但我想知道这本身是否很危险。
例如,如果 rails 控制器代码看起来像这样(即在实例化对象上执行硬编码方法):
klass = params[:class].classify.constantize
klass.do_something_with_id(params[:id]) if klass.respond_to?('do_something_with_id')
这段代码易受攻击吗?还是仅结合能够指定要在类上调用的方法?