WordPress文件上载漏洞

您可以轻松地将任何恶意文件(如.exe,.php)的扩展名更改为.jpg并将其上载。为什么文件的实际类型没有限制? WP根据扩展名检查mime类型,如果可能,限制曝光。 请参阅https://developer.wordpress.org/reference/functions/wpu checku filetypeu和u ext/ - 这个回复是3年9个月前由Steven Stern(sterndata)修改的。 对文件类型有限制。您根本无法上载EXE或SWF文件。除非以管理员帐户登录,否则无法上载HTML文件。 但有一点:如果上载重命名为JPG的PHP文件,则该文件将不再工作。文件名也很重要。Web服务器不会执行JPG文件。他们只会将它发送到浏览器,在那里它试图显示它,但失败了,因为它实际上不是一个图像。 您可以通过重命名上传文件something.exe文件至something.exe.jpg 只需重命名即可上载文件something.exe文件至something.exe.jpg 我一定会后悔问: 怎么办这是一个弱点吗?我是说,让我一步一步地了解它。 这种上传不安全给业务带来了很大的风险,因为对受害者系统具有物理访问权限的攻击者可以将恶意内容上传到应用程序。 具有物理访问权限的攻击者不会使用WP uploader上传文件。 我认为WordPress应该检查内容而不是mime类型。我已经重命名了一个文件,从exe到jpg和它被上传。作为一个如此流行的CMS,它应该实现这个安全特性 事实上,您可以将易受攻击的代码添加到.jpg文件并上传这个文件(它将通过mime类型检查)。你甚至可以准备一个充满代码的伪.jpg文件。但是,如果您不上传/修改其他文件(如.php文件)或修改.htaccess等, 正如@jdembowski之前所写: 我肯定会后悔问: 这是一个怎样的漏洞?我的意思是,让我一步一步地了解它。 攻击者可以物理访问受害者的系统 这不是WordPress漏洞,如果有人恶意访问文件系统来写文件,那么WordPress就不是问题所在。而且攻击者永远不会使用WordPress的文件上传功能。 为什么他们会这样做?他们已经可以在没有WordPress的情况下访问了。 在我看来WordPress应该检查内容而不是mime类型。 作为一个如此流行的CMS,它应该实现这个安全功能,这不是一个安全功能,因为它试图脱离WordPress并加强安全性那里。对于任何CMS来说,这都不是一个很好的设计。 由于以下原因,这是非常困难的。 1. 它不可靠,错误的标识会阻止用户上传合法的文件。 2. 3. WordPress是用PHP编写的,它不是一个防病毒或内容过滤器。这需要大量的代码和处理来实现。 4. 这将试图解决WordPress之外的问题,例如错误配置的web服务器或对文件系统有物理访问权限的人。 有一些插件可以进行扫描(安全插件),但它们的代码和支持完全不同。我从来没有使用过安全插件,但不要责怪使用安全插件的人。 web服务器不应在错误的文件类型(扩展名)上执行代码。如果你上传了一个.JPG文件并且它确实是一个PHP文件,那么web服务器不应该执行它。 PC或Mac不应该下载一个MIME类型的.JPG文件,并让它作为可执行文件运行。这也不是WordPress的问题。 如果发生这种情况,那仍然不是WordPress的安全问题。 我不满意,也没有太多的代码。一个简单的>finfou关闭($finfo); 就可以了。它将检查确切的mime类型 我很高兴您认为您已经设法将其简化为最简单的术语,但由于我已经说明的原因,这样做是行不通的。 与其在这里尝试说服其他人,为什么不提交一个修补程序呢? https://make.wordpress.org/core/handbook/tutorials/trac/submitting-a-patch/ 我不认为这是个坏主意,我只是认为它不值得支持或包括在内。但要振作起来!这不由我决定。 提交修补程序。不要只说\"它应该很简单\"(而且它永远不会是),实际上要解决您提出的问题。 好的,让我为这个问题想出一个插件, 您的代码需要PHPfileinfo扩展名。很多人不会安装这个扩展,因为它需要大量的内存。 p>就个人而言…如果WordPress需要一个新的PHP扩展,mbstring和mysqli在优先级列表中的位置要高得多

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1170

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1071

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:807

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:900

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:930

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:877

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:864

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:834

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1727

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1308