长期以来,XMLRPC 一直是一种有用的工具。那些日子现在已经成为历史。如今,XMLRPC 过去用于的所有功能都由内置的REST API处理。即使它不再使用。它仍然存在。那些怀旧的人看到它会微笑。那些担心安全的人看到它会皱眉。
XMLRPC 对 WordPress 网站构成了一些不同的安全风险,可能导致严重的 WordPress XMLRPC 攻击。
第一种 WordPress XMLRPC 攻击是简单的暴力攻击。由于传递给 WordPress 的 XML 负 自营职业数据库 载的一部分是想要执行操作的用户的登录名和密码,因此攻击者可以轻松尝试用户名和密码组合,直到找到一个有效的组合。许多有安全意识的网站所有者会限制用户在锁定之前可以进行的登录尝试次数,但不会费心阻止 XMLRPC 请求,从而为攻击者留下后门,让他们试图找到进入的方法。
通过 XMLRPC 进行暴力攻击
一旦攻击者找到有效的凭据,他们就可以自由地尝试通过将内容注入您网站的数据库来破坏您的网站。无论这些内容是帖子、页面还是评论,最终结果都是一样的。您的网站正在提供您未批准且很可能不想要的内容。
至少,这意味着垃圾评论或帖子。但最糟糕的情况是,它可能是被注入恶意软件的无害帖子或评论。
使用 XMLRPC 进行 DDoS 攻击
由于 XMLRPC 的使用方式之一是用于 pingback,因此恶意用户可以使用它通过一次性发出大量昂贵的请求来压垮您的服务器。
pingback 会将记录写入数据库。从资源角度来看,写入数据库是一项昂贵的任务。虽然单个 pingback 不会影响您网站的性能,但同时出现数百甚至数千个 pingback 甚至会使最强大的服务器瘫痪。
这被称为 DDoS 或分布式拒绝服务攻击。之所以说是分布式,是因为通常不是一台机器发出所有请求,而是一大堆机器分散在各地。
如何在 WordPress 中禁用 XMLRPC
有几种方法可以禁用 XMLRPC。我强烈建议您这样做,因为说实话,您根本不需要它。
通过你的网络服务器的配置文件
如果您熟悉如何通过 Web 服务器的配置文件阻止请求,并且您可以访问 Web 服务器的配置文件,那么这是一种很好的阻止方法。对于 Apache,您可以将此代码添加到站点根目录中的 .htaccess 文件中。
<文件 xmlrpc.php>