首页
学习
活动
专区
圈层
工具
发布

WordPress5.0 远程代码执行分析

我们可以通过将 AUTOMATIC_UPDATER_DISABLED 设置成 true ,来禁止 WordPress 后台自动更新(在 wp-config.php 文件开头添加 define('AUTOMATIC_UPDATER_DISABLED...我们可以看到在 wp-admin/post.php 文件中,当 $action=editpost 的时候,会调用 edit_post 方法。...根据注释内容可知, get_page_template_slug 函数会根据传入的 $post 变量,从数据库中查询并返回其对应的模板文件名。...而在 WordPress 程序运行最初,就会选择相应的模板文件名,并包含它,具体代码如下: ?...函数根据上面数据包中 post_ID 的值获取模板文件名(下图 第7行 ),接着调用 get_query_template 函数,并最终将模板文件名返回到 wp-includes/template-loader.php

1.6K30

WordPress 5.0 RCE 详细分析

在分析还原WordPress的更新commit中,我们寻找到了这个漏洞的修复commit,并获得了受该漏洞影响的最新版本为WordPress commit WordPress的设定中,图片路径可能会受到某个插件的影响而不存在,如果目标图片不在想要的路径下时,WordPress就会把文件路径拼接为形似 http://127.0.0.1/wp-content...最终加载模板的地方在 wp-includes/template.php line 634 [ ] 只要是在$template_names中需要被加载的文件名,会在当前主题的目录下遍历加载。...wp-includes/template.php line 486 [ ] 而get_page_template_slug函数从数据库中获取了_wp_page_template值 /wp-includes...除非攻击者通过fuzz获得一张精心构造的图片,可以在被裁剪处理之后刚好出现需要的php代码(难度较高)。 由于这不是漏洞最核心的部分,这里就不赘述了。

1.6K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Wordpress 5.0 RCE详细分析

    在分析还原Wordpress的更新commit中,我们寻找到了这个漏洞的修复commit,并获得了受该漏洞影响的最新版本为WordPress commit WordPress的设定中,图片路径可能会受到某个插件的影响而不存在,如果目标图片不在想要的路径下时,WordPress就会把文件路径拼接为形似http://127.0.0.1/wp-content/...最终加载模板的地方在 wp-includes/template.php line 634 只要是在$template_names中需要被加载的文件名,会在当前主题的目录下遍历加载。...wp-includes/template.php line 486 而get_page_template_slug函数从数据库中获取了_wp_page_template值 /wp-includes/post-template.php...除非攻击者通过fuzz获得一张精心构造的图片,可以在被裁剪处理之后刚好出现需要的php代码(难度较高)。 由于这不是漏洞最核心的部分,这里就不赘述了。

    1.9K20

    18个有用的 .htaccess 文件使用技巧

    将下面的代码加入到 .htaccess 文件中,结果会把所有带 www. 的网址重定向到不带 www. 的网址。需要将 ijinfa.cn 改成您的域名哦!...错误记录 在您的服务器上创建一个 php_error.log 文件,再将以下代码放入 .htaccess 文件中,记得修改第七行中的文件路径。...8.从网址中去除文件的扩展名 文件扩展名对网页开发者很有用,但对访问的人没用,您也不希望他们看到的,使用下面的方法将它们去掉。...gzip-only-text/html 11.给文件自动添加utf-8编码 对于某些特定的文件,如 html, htm,css 或 js 等,有时可能会忘记在页面中加上一条 中的 /category/ 目录名称 默认情况下, WordPress 分类目录的永久链接会显示如下: http://www.catswhocode.com/blog/category/wordpress

    1K10

    如何使用LSCache,OpenLiteSpeed和Cyber​​Panel安装WordPress

    除了LSCache的高级缓存管理功能之外,WordPress插件还提供了额外的优化功能,如CSS / JS缩小和组合,HTTP / 2 Push,图像和iframe的延迟加载以及数据库优化。...列出网站 一旦网站面板启动,你将在屏幕上有以下选项: 网站信息 5.在此窗口中,打开文件管理器并从public_html文件夹中删除所有内容。...这些设置可以在Optimize选项卡下的LiteSpeed Cache设置页面中找到,默认情况下它们都是禁用的。 按下您要启用的每个设置旁边的ON按钮。...第5步:更改默认的PHP和安装扩展 10.如果出于某种原因需要更改WordPress网站的PHP版本,可以通过Cyber​​Panel进行: 更改PHP版本 11.一些额外的WordPress插件可能会要求您安装额外的...您可以从服务器> PHP>安装扩展选项卡通过Cyber​​Panel安装缺少的扩展。 首先从下拉列表中选择您要安装扩展名的PHP版本。 在搜索框中输入扩展名,最后点击安装安装缺少的扩展名。

    3.7K50

    fd一个简单快速的find命令替代方案

    默认情况下忽略隐藏的目录和文件。 .gitignore默认情况下,忽略来自您的模式。 命令名称比find短50% 。...如何在Linux中安装fd 我们将看看如何在不同的Linux发行版中安装 fd 。...# fd 在下一个 fd 示例中,我将使用位于/var/www/html/中的默认WordPress安装来搜索不同的文件和文件夹。 在下面的示例中,我仅使用前10个结果来缩短命令输出。...我们可以使用- e标志按文件扩展名进行过滤: # fd -e jpg - e标志可以与这样的模式结合使用: # fd -e php index 上面的命令将查找扩展名为 php 的文件,并在其中包含字符串...index : 如果要排除某些结果,可以使用- E标志,如下所示: # fd -e php index -E rumenz 此命令将查找包含php扩展名的所有文件,其中包含字符串 index

    1.1K10

    fd一个简单快速的find命令替代方案

    默认情况下忽略隐藏的目录和文件。 .gitignore默认情况下,忽略来自您的模式。 命令名称比find短50% 。...如何在Linux中安装fd 我们将看看如何在不同的Linux发行版中安装 fd 。 对于 Ubuntu 和 Debian 的发行版,您需要从发布页面下载最新的fd版本并使用以下命令进行安装。...# fd 在下一个 fd 示例中,我将使用位于/var/www/html/中的默认WordPress安装来搜索不同的文件和文件夹。 在下面的示例中,我仅使用前10个结果来缩短命令输出。...我们可以使用- e标志按文件扩展名进行过滤: # fd -e jpg - e标志可以与这样的模式结合使用: # fd -e php index 上面的命令将查找扩展名为 php 的文件,并在其中包含字符串...index : 如果要排除某些结果,可以使用- E标志,如下所示: # fd -e php index -E rumenz 此命令将查找包含php扩展名的所有文件,其中包含字符串 index ,并将排除

    2.2K00

    fd一个简单快速的find命令替代方案

    默认情况下忽略隐藏的目录和文件。 .gitignore默认情况下,忽略来自您的模式。 命令名称比find短50% 。...如何在Linux中安装fd 我们将看看如何在不同的Linux发行版中安装 fd 。 对于 Ubuntu 和 Debian 的发行版,您需要从发布页面下载最新的fd版本并使用以下命令进行安装。...# fd 在下一个 fd 示例中,我将使用位于/var/www/html/中的默认WordPress安装来搜索不同的文件和文件夹。 在下面的示例中,我仅使用前10个结果来缩短命令输出。...我们可以使用- e标志按文件扩展名进行过滤: # fd -e jpg - e标志可以与这样的模式结合使用: # fd -e php index 上面的命令将查找扩展名为 php 的文件,并在其中包含字符串...index : 如果要排除某些结果,可以使用- E标志,如下所示: # fd -e php index -E rumenz 此命令将查找包含php扩展名的所有文件,其中包含字符串 index ,并将排除

    1.7K10

    如何在CentOS 7上安装带有Caddy的WordPress

    通过遵循如何在CentOS 7上安装MySQL来安装MySQL 。 Caddy通过遵循如何在CentOS 7教程中托管与Caddy的网站来安装,包括配置为指向您的Droplet的域名 。...sudo yum update 安装PHP和PHP扩展 WordPress取决于,如支持MySQL, curl ,XML和多字节字符串。...使用vi或您喜欢的文本编辑器打开配置文件 sudo vi /etc/caddy/Caddyfile 将以下配置复制并粘贴到文件中。 您可以从以前的教程中删除任何示例配置。...fastcgi指令配置PHP处理程序来支持具有php扩展名的文件 使用rewrite指令启用漂亮的URL(在WordPress中称为漂亮的永久链接)。...如果您使用Apache,则需要在.htaccess文件中由WordPress自动提供此配置,但需要单独配置为Caddy。 相应更改配置文件后,保存文件并退出。 重新启动球童将新的配置文件设置生效。

    3K30

    实战|如何在Linux 系统上免费托管网站

    如何在 Linux 服务器上托管网站 在本节中,我们将继续讨论 Web 服务器的主要组件。 什么是 Apache?...您还可以获得有关 Debian / Ubuntu 存储库提供的最新版本的信息,在本例中为 2.4.52。...$ tar -xvzf latest.tar.gz 该命令将文件的内容提取到名为 wordpress 的文件夹中。将文件夹移动或复制到 Apache Web 服务器的文档根目录中。...如您所见,这将引导您进入 WordPress 仪表板。此时,您可以尝试使用各种主题来增强示例网站的外观。 6....在您的设置中,您需要转发 Web 服务器正在侦听的端口(在大多数情况下,对于 HTTP 流量是端口 80,对于 HTTPS 是端口 443)以及 Web 服务器的静态专用 IP 地址。

    1.7K20

    CVE-2020-35489 WP插件Contact Form 7任意文件上传

    在一个名为Contact Form 7的流行WordPress插件中发现了一个高严重性的不受限制的文件上传漏洞,跟踪为CVE-2020-35489,目前安装在500万+网站上,使他们容易受到攻击,如网络钓鱼...如果一个恶意用户上传了一个文件,文件名包含双扩展名,用不可打印或特殊字符分隔,例如一个名为test.php.jpg的文件(/t字符是分隔符)。...那么联系表格7不会从上传的文件名中删除特殊字符,并解析文件名直到第一个扩展名,但由于分隔符的存在,会丢弃第二个扩展名。因此,最终的文件名会变成test.php (见下图)....这个文件可以通过远程代码执行来访问或在服务器上执行。 ? 在这里,我将做一个WordPress的本地设置来展示概念验证的开发。...最后将这个表单添加到一个页面中,并发布。 攻击场景 现在我们访问新创建的页面,并在文件上传字段中提交一个文件名为exploit.php.jpg的表单。 ?

    7.6K10

    WordPress Simple File List插件远程代码执行漏洞利用工具详解

    该漏洞影响WordPress Simple File List插件4.2.3之前的所有版本,允许未经身份验证的攻击者上传恶意文件并执行任意系统命令,CVSS评分为10.0(严重级别)。...:Windows/Linux/macOS依赖安装pip install requests colorama快速开始克隆或下载项目文件安装必要的Python依赖包确保目标服务器运行易受攻击的WordPress...\n")漏洞背景漏洞描述Simple File List插件存在文件上传后重命名时的验证缺陷,攻击者可以:上传包含PHP代码的伪图像文件(如.png)通过易受攻击的脚本将文件重命名为.php扩展名远程执行该文件...,获得服务器的完整代码执行权限影响版本所有4.2.3之前的Simple File List插件版本无需身份验证即可利用公开的PoC和利用脚本已广泛传播缓解措施将Simple File List插件更新至...4.2.3或更高版本暂时禁用或删除插件阻止对ee-upload-engine.php和ee-file-engine.php脚本的访问使用Web应用程序防火墙(WAF)监控和阻止恶意请求注意事项本工具仅供授权测试和教育研究使用未经授权的系统访问是非法的使用前请确保获得目标系统的明确授权漏洞详情已分配

    11110

    在Ubuntu 16.04上安装WordPress

    介绍 在本指南中,您将学习如何在运行Ubuntu 16.04的Linode上安装WordPress。WordPress是一个流行的动态内容管理系统,专注于博客。...默认情况下,nginx假定它没有,并返回服务器端404.更新location / {虚拟主机配置中块中的以下行: /etc/nginx/sites-available/example.com 1 2 3...$args; 配置最大文件大小上载设置以允许更大的文件 默认情况下,PHP将Web上载限制在2兆字节以下。...要安装GD扩展: sudo apt install php7.0-gd 要获得完整的非英语语言支持并修复某些与字符编码相关的错误,您需要多字节字符串(MBSTRING)扩展。...其他PHP扩展的大量存在,并且所需要的某些插件的功能,如php7.0-curl,php7.0-xml,和php7.0-mcrypt。

    6.6K20

    WordPress 文章无法保存?试试这些实用修复技巧

    常见“嫌疑插件”包括:Wordfence(安全)Yoast SEO(优化)Elementor(页面构建)Contact Form 7(表单)三、主题代码异常:functions.php 的隐藏陷阱有些主题文件中存在调试语句...排查步骤:打开主题目录下的 functions.php 文件,检查是否有非法输出;切换至默认主题(如 Twenty Twenty-Four),测试是否恢复;若切换后正常,说明原主题存在问题,需进行代码审查...四、PHP 错误信息泄露:调试模式的小插曲有时候,PHP 的 Notice 或 Warning 信息会被直接输出到响应中,破坏 JSON 格式。...五、核心文件损坏:WordPress 的“系统感冒”虽然少见,但 admin-ajax.php 或 class-wp-ajax-response.php 等核心文件若被病毒篡改或升级中断,也可能引发此问题...修复方法:检查 wp-config.php 中的通信密钥是否配置正确;暂时禁用相关安全插件或服务器 WAF,测试是否恢复。

    45910

    如何在linux系统服务器上,安装 LAMP 这个php运行环境?

    如何在linux系统服务器上,安装 LAMP 这个php运行环境?   如果要准备建一个wordpress网站,大多数的wordpress站长都会选择linux系统的服务器。为什么呢?...yum 的命令非常好用,我们可以一个一个地进行安装,如:yum php 这样的;我们也可以多个软件放在一起来进行安装,如:yum php php-mysqli这样的。   ...如果PHP运行环境安装成功,我们可以在我们的wordpress网站的根目录创建一个php文件测试一下。或者直接打开我们的IP地址,测试一下apache有没有安装成功。...直接在浏览器中输入我们网站的IP(如:http://你的IP/),如果能打开,就说明apached安装成功。   第五步:开放80端口。   ...  一般情况下,只要我们按照这个步骤,一步一步地安装,我们的linux系统服务器就可以正常运行我们的wordpress网站了。

    3.3K00

    Docker 微服务教程

    上一篇教程介绍了 Docker 的概念和基本用法,本文接着往下介绍,如何在一台计算机上实现多个服务,让它们互相配合,组合出一个应用程序。 ? 我选择的示例软件是 WordPress。...上面的命令基于php的 image 文件新建一个容器,并且运行该容器。php的标签是5.6-apache,说明装的是 PHP 5.6,并且自带 Apache 服务器。该命令的三个参数含义如下。 ?...运行上面的命令以后,正常情况下,命令行会显示一行字符串,这是容器的 ID,表示已经新建成功了。...接下来,要把 WordPress 容器连接到 MySQL 容器了。但是,PHP 的官方 image 不带有mysql扩展,必须自己新建 image 文件。 首先,停掉 WordPress 容器。...上面命令中,各个参数的含义前面都解释过了,其中环境变量WORDPRESS_DB_PASSWORD是 MySQL 容器的根密码。

    1.4K60

    浅谈Windows系统下的网站备份与恢复

    ),从Adminer网站下载PHP文件,确认已经获得FTP主机名、用户名与密码。...数据库指的是网站内容(如博客文章)及设置(扩展/主题设置和用户信息)的存储位置。 因此我们完成完整备份的标志就是备份网站文件与数据库。 文件 打开Filezilla。...如果你不知道你的数据库登录凭据,可以在 Filezilla 的服务器上打开网站配置文件: WordPress 上的是wpconfig.php; Joomla上的是configuration.php;...以wordpress中的wpconfig.php存储数据库登录凭证为例 将凭据输入Adminer后登录成功并显示如下页面: 现在我们要做的是将数据库以单个文件的形式导出,并下载到自己电脑上。...这些备份中包含着很多重要信息。比如网站配置文件就是数据库的访问入口。 旧的备份中还包含着大量没有更新过的核心文件、主题和扩展名。不再更新的软件往往是网站遭受攻击的罪魁祸首!

    2.8K80

    针对WordPress的攻击调查

    通过黑客管理访问攻击WordPress站点 此方法可获得WordPress网站的管理员访问权限。...当有效负载/命令/代码编码在COOKIES或POST数据中时,通过使用GET或POST请求来完成部署。解码程序会部署在先前的后门中。还观察到攻击者会patch已经存在的.php文件使恶意请求更加隐蔽。...首先,记录所有可写路径,随机选择合适的路径,然后patch所选文件。 ? 在本例中,将修补程序功能应用于index.php,以在Unix隐藏文件(点文件)中包含恶意脚本,扩展名为.ico。 ?...alfashell还能够从WordPress配置文件中获取数据库凭据,转储数据库,以及获取所有虚拟域和DNS设置。 ?...感染WordPress网站的搜索引擎优化(SEO) 受感染的WordPress站点的另一个实例是搜索引擎优化(SEO),已发现部署的PHP脚本在GET请求中接受关键字。 ?

    2.8K20

    以及它如何应用于WordPress?

    在计算机网络中,“localhost”是指运行特定程序的计算机。例如,如果您在自己的计算机上运行程序(如Web浏览器或本地Web开发环境),那么您的计算机就是“Localhost”。...除了WordPress开发和测试之外,如果您手动输入或编辑WordPress站点的数据库凭据,您也可能会遇到术语localhost。这可能在您编辑wp-config.php文件或使用插件时发生。...这就是为什么这对您的WordPress网站的数据库很重要: 在99%的情况下,您的WordPress站点的数据库将与您的WordPress站点的其余文件位于同一台服务器上。...例如,在安装WordPress时wp-config.php文件中的DB_HOST条目如下所示: wp-config.php文件中的本地主机 同样,如果您使用Duplicator之类的插件来迁移WordPress...网站,那么当插件要求您输入数据库的主机值时,您可以输入“localhost”: Duplicator插件中的localhost使用 在这两种情况下,您基本上是在告诉WordPress(或 WordPress

    2.9K00

    Contact Form 7插件中的不受限制文件上传漏洞

    漏洞概述 众所周知,Contact Form 7是一款非常受欢迎的WordPress插件。但是根据安全研究专家的最新发现,Contact Form 7中存在一个不受限制的文件上传漏洞。...恶意用户可以通过上传一个文件名中包含了双扩展名的文件来利用该漏洞,文件名由不可打印或特殊字符分隔,比如“说php .jpg”(\t字符是分隔符)。...接下来,Contact Form 7并不会从上传文件的文件名中移除这些字符,并且会解析包含第一个扩展名在内的之前的文件名,而分隔符会导致Contact Form 7无法解析后续的扩展名。...因此,最后的文件名就变成了“php”。 而攻击者将能够通过远程代码执行在服务器中访问或执行此文件。...点击“Submit”按钮,我们将会收到服务器端返回的上传响应,表明我们的文件已经成功上传了,文件名为“exploit.php”。接下来,我们将能够通过任意代码执行在服务器中访问或执行此文件了。

    3.8K20
    领券