不活动的易受攻击的 Wordpress 插件仍然不安全吗?

信息安全 脆弱性 WordPress 插件 漏洞管理
2021-08-25 00:29:20

在 WordPress 中安装插件时,您可以选择激活或停用它。

假设您有一个插件,其最新版本例如易受 XSS 攻击,并且您正在等待发布安全修复程序。我应该禁用还是卸载插件?推荐什么?

插件只是一堆 PHP(和其他)文件,安装后,它位于 Web 服务器上的目录中,因此如果攻击者从外部调用函数,无论插件是否为“活跃”与否。WAF 或某些 htaccess 规则拒绝访问的缓解措施可用于阻止对易受攻击的文件的访问,直到它们更新到新的(安全)版本。

最好卸载插件并删除所有文件,除非无法这样做,因为它会过多地改变网站并且您不想放弃某些功能。

2个回答

取决于插件,如果有一个可以直接调用的 PHP 脚本(不依赖于 wordpress 代码或包含正确的语句来加载它需要的 wordpress 库),它们可以是。

您可以有效地尝试通过 htaccess/server 配置来阻止对文件的直接访问,但有一些方法可以解决这个问题。毕竟你不能运行一个不存在的文件,完全删除它通常会更好。

最终它取决于漏洞和它所在的脚本。

即使插件被禁用,也有一些漏洞仍然有效。删除没有补丁的有漏洞的插件:不活动的插件对您的站点没有任何作用。

例如,Wordfence 报告了 Total Donations 插件中的一个漏洞,该漏洞利用了以下代码:

$action = esc_attr(trim($_POST['action']));
 
//For logged in users
add_action("wp_ajax_".$action , $action); 
add_action("wp_ajax_nopriv_".$action , $action);
 
if(is_user_logged_in())
do_action('wp_ajax_'.$action);
else
do_action('wp_ajax_nopriv_'.$action);

他们对此给出的解释如下:

脚本the-ajax-caller.php加载站点的 WordPress 环境,随后注册并执行通过的任何 AJAX 操作,即使在禁用 Total Donations 时也是如此。这也可以用来调用任意函数,无论它是否与 Total Donations 插件相关联,它本身就会带来额外的安全风险。