首页 > 解决方案 > 允许用户传递方法名称和参数时, call_user_func_array 是否存在安全风险?

问题描述

这是官方示例:

class foo {
    function bar($arg) {
        echo __METHOD__, " got $arg\n";
    }
}

$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three"));

这是我的代码:

call_user_func_array(array($foo, $_POST["A"]), array($_POST["B"]));

我们可以控制 $_POST["A"] 和 $_POST["B"],$foo 可能是另一个类。

我的问题是“这安全吗?不会导致 RCE 问题吗?”

标签: phpsecurity

解决方案


推荐阅读