建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

文件包含漏洞攻击介绍及WordPress网站防护办法

GG网络技术分享 2025-03-18 16:16 0


什么是文件包含漏洞攻击?文件包含漏洞允许攻击者读取(有时甚至执行)WordPress 网站上的文件,未经授权访问敏感信息,并通过 "包含"功能注入恶意文件。这可能非常危险,因为如果网络服务器配置错误,攻击者可能会访问敏感的用户信息,甚至执行任意命令。这里就介绍一下WordPress网站防护办法。

文件包含漏洞攻击类型

文件包含漏洞有两种类型:

本地文件包含 (LFI) - 使用本地文件包含 (LFI) 时,黑客在实施攻击时会使用本地文件(即目标服务器上的文件)。

文件包含漏洞攻击介绍及WordPress网站防护办法插图

远程文件包含(RFI)--对于 RFI,黑客在实施攻击时会使用远程文件(托管在另一台服务器上)。

文件包含漏洞攻击介绍及WordPress网站防护办法插图1

BackUpWordPress 插件 <=0.4.2 包含远程文件包含漏洞,允许任何人在备份路径中添加远程文件链接,这些文件将在服务器上执行。

https://example.com/wp-content/plugins/BackUp/Archive.php?bkpwp_plugin_path=Shl3?https://example.com/wp-content/plugins/BackUp/Archive/Reader.php?bkpwp_plugin_path=Shl3?

Localize My Post WordPress 插件 =1.0 包含本地文件包含漏洞,允许任何人添加链接到目标服务器上托管的敏感文件。

https://example.com/wp-content/plugins/localize-my-post/ajax/include.php?file=../../../../../../../../../../etc/passwd

LFI 漏洞很容易识别和利用。例如,任何包含网络服务器文件的脚本都应进行 LFI 测试:

/script.php?page=index.html

通过操作文件位置参数:

/script.php?page=../../../../../../../../etc/passwd

这将显示基于 UNIX / Linux 系统的 /etc/passwd 文件。

以下是一些防止文件上传漏洞的措施,可保护您的网站免受 LFI 和 RFI 攻击。

定期更新可确保所有代码都属于安全开发生命周期(SDLC)的一部分。这意味着,如果早期版本中存在已知漏洞,这些漏洞会在新版本中得到修复,这样您的网站就不会受到利用这些漏洞的攻击。

当新版本的插件或主题可用时,WordPress 管理菜单中会显示一个警报气泡,主题和插件屏幕上也会突出显示相应的主题或插件。

文件包含漏洞攻击介绍及WordPress网站防护办法插图2

自 WordPress 5.5 起,自动更新功能可用,您可以根据插件和主题的不同启用/禁用自动更新。

WordPress 安全插件(如 WordFence 或 MalCare)具有文件扫描功能,可以在服务器上出现新文件或修改过的文件时通知您,以便您在恶意文件上传时有时间做出反应。

如:

WPMU Dev Defender Pro 4.0.1完美汉化中文版|WordPress高级防火墙安全防护插件
iThemes Security Pro 7.3.5汉化中文版|WordPress专业防火墙安全防护插件

文件包含漏洞攻击介绍及WordPress网站防护办法插图3

一些编写不完善的主题和插件很容易出现漏洞。因此,建议只使用高质量的主题和插件。从 Themeforest、CodeCanyon、Evanto、Mojo Marketplace 等信誉良好的市场购买软件是确定其质量的明智之举。

WordPress 插件开发人员必须遵守知名市场的严格标准和安全协议。因此,这些平台上提供的插件都是制作精良、维护良好的。

文件包含漏洞攻击介绍及WordPress网站防护办法插图4

上传到 WordPress 网站的文件存储在 Uploads 文件夹(wp-content/uploads/)中,该文件夹与所有 WordPress 文件存储在同一目录中。

如果攻击者在该文件夹中上传恶意文件,他就可以控制 public_html 目录,也就是您的整个网站。要阻止这种情况发生,您可以将 Uploads 文件夹移出 public_html 文件夹,但这需要丰富的 WordPress 知识。

以下是如何移动 WordPress 上传文件夹的快速指南

文件包含漏洞攻击介绍及WordPress网站防护办法插图5
public_html/主文件夹只包含 index.php 和 .htaccess 文件,其中包含从 wpxss.com/application 到 banzhuti.com 的重写规则。
public_html/applicationWordPress 实际上安装在一个名为应用程序的子目录中。
media/wp-content/uploads 目录只包含一个带有重写规则的 .htaccess 文件,而实际上传的文件存储在媒体文件夹中

要阻止在 Uploads 文件夹中执行 PHP 文件,请创建一个 .htaccess 文件并添加以下内容:

#Block directory browsing

Options All –Indexes

#Disable php file execution

<FilesMatch “\.(php|php\.)$”>

Order Allow,Deny

Deny from all

</FilesMatch>

如果不需要包含远程文件,可以在 .htacces 和 php.ini 文件中设置以下内容,禁止包含远程文件:

.htaccess文件

RewriteEngine On

RewriteCond %{QUERY_STRING} (.*)(http|https|ftp)://(.*)

RewriteRule ^(.+)$ – [F,L]

php.ini文件

allow_url_fopen=off

allow_url_include=off

避免使用可能被误用以绕过 WordPress 输入过滤器的 PHP 封装程序,如 PHP Zip envelope 和 expect: // 并始终遵循 WordPress 编码标准。

标签:

提交需求或反馈

Demand feedback