WP 防止 xmlrpc.php 暴力破解密码

马谦马谦马谦 Wordpress评论2,775字数 929阅读 3 分 5 秒阅读模式

一、概述

xmlrpc.php 是 wordpress 默认就有的一个离线发布模块,我们可以使用诸如 windows live writer 之类的软件进行离线发布,在发布的过程中会验证 wordpress 帐号的密码,不管帐号密码正确失败,都会给予相应的回复。对于攻击者来说,这就是一个漏洞,因为他们知道每一次尝试登陆的结果,于是就可以无限制利用这个文件进行暴力密码破解,直到得到一次正确的返回——即尝试到了一个正确的账户密码。

二、攻击示例

默认情况下,xml-rpc 服务是开启的,判断是否开启可以在浏览器输入 https://www. 域名.cn/xmlrpc.php,如果返回以下信息则表示该服务处于开启状态:

WP防止xmlrpc.php暴力破解密码-图片1

如果功能处于开启状态,我们可以使用 Postman 进行模拟攻击,请求文件为 xmlrpc.php,请求类型 POST,请求内容:

其中 admin 和 123456 是模拟登录的账户密码。

WP防止xmlrpc.php暴力破解密码-图片2

把请求发送出去,得到如下响应,很明显的告诉我们账户密码错误:

WP防止xmlrpc.php暴力破解密码-图片3

如果把发送数据的账号和密码信息修改成正确的,就会返回我们的博客基本信息:

WP防止xmlrpc.php暴力破解密码-图片4

利用这个漏洞,黑客很容易就能写个脚本,每秒请求 N 次,给服务器带来高额负载不说,从安全角度来讲,总有一天博客的账户和密码是会被爆破出来的,然后随之而来的是服务器被黑,网站被植入广告等等。

从 nginx 的日志信息中也是能发现很多来自这个文件的请求:

WP防止xmlrpc.php暴力破解密码-图片5

三、解决办法

1. 定期修改密码并设置高强度密码

定期修改密码是肯定必要的,而且最好设置高强度密码,可以使用 mkpasswd 命令来生成密码,详见:linux 使用 mkpasswd 生成密码

2. 关闭 xmlrpc.php 文件的访问

如果不需要用到这个功能的话,可以使用这个方法,在 nginx 中设置一下文件的访问权限。

3. 使用安全插件

可以使用 WordFenceLogin Security Solution 等安全插件来解决。

wordfence 太强大了,东西太多了,博客都有点承受不起,所以选了 Login Security Solution 。

使用方法详见:WP 安全插件 Login Security Solution

  最后更新:2018-10-21
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017 年 11 月 19 日 11:14:18
  • 转载请务必保留本文链接:https://www.dyxmq.cn/cloud/wordpress/wp-xmlrpc-bug.html
  • wodpress
wordpress知更鸟主题添加菜单图标 Wordpress

wordpress 知更鸟主题添加菜单图标

知更鸟主题 5.2 及之前的版本使用的图标库为 font awesome,5.2 之后的版本使用阿里图标库的图标。相对来说,选择阿里图标库更好一些,它的图标更全且有国内 cdn,访问速度更快。 添加后的效果: ...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证