禁用wp_Handle_Upload中的TEST_FORM是否存在安全问题?

时间:2011-03-13 作者:Ian Dunn

我正在编写一个插件,修改上传帖子文件或媒体库时的默认行为。我正在wp\\u handle\\u upload()中使用自定义$unique\\u filename\\u回调设置$覆盖。

我添加后,它在wp\\u handle\\u upload()中触发了以下检查,因为没有设置$\\u POST[\'action\']。(我不知道为什么不是,但不是)。

if ( $test_form && (!isset( $_POST[\'action\'] ) || ($_POST[\'action\'] != $action ) ) )
    return call_user_func($upload_error_handler, $file, __( \'Invalid form submission.\' ));
因此,我将$overrides[\'test\\u form\']=设置为false,现在它开始工作了。不过,我想知道这是否可能是一个潜在的安全问题。这会允许某人从远程源发布表单吗?

当你创建自己的上传字段时,禁用它似乎是正常的,但我使用的是内置的上传后表单,所以我想确定一下。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

我不会说安全问题,因为您在管理员中使用此插件(我假定在用户经过身份验证之后,即admin_init), 那么你已经有了保护措施,可以防止Jon Doe在你的脚本中发布表单。

它提供的是一个额外的身份验证层。归根结底,它只是在表单中发送一个“秘密”,然后在继续之前检查它是否存在(以及是否匹配)。

对于攻击者来说,他们需要知道这个秘密才能破解,例如使用CSRFXSS.

这就是为什么WordPress nonces 工作事实上你用这些会更好instead of test\\u表单。它们更进一步,因为它们是expire, 因此,攻击者的窗口变得更小。

退房Jaquith\'s article on Nonces.

结束

相关推荐

Security and .htaccess

大约一个月前,我在一个与爱好相关的托管服务器上创建了一个WordPress博客。所以,我目前还不熟悉这一点。由于我担心安全性,我做的一件事就是安装插件WP安全扫描。根据插件结果,我的网站会被检查出来,但我在结果中看到的是一个红旗:文件。wp admin中不存在htaccess/(我在那里ssh了,它不存在)好的,所以我在这个问题上做了大量的搜索,找到了太多的信息。htaccess。我在WordPress上经历了强化WordPress。org网站等,也遇到了这篇文章:http://digwp.com/201