禁用 XMLRPC 避免 WP 站点被 DDOS 或暴力登录


诱因

自从使用 Wordpress 建站以来,就一直被机器人暴力爆破登录密码,其规模已经足以引起DDos攻击,导致服务器启动没多久,资源就被耗尽,打开极其缓慢。

即使安装 Limit Login Attempts 插件进行登录限制,依然会被机器人用 IP 池持续攻击,成效甚微:

分析

从 Limit Login Attempts 插件的限制日志可以发现, 通过 XMLRPC 登录的次数远远大于通过 WP Login 登录的次数。

WP Login 就是通过 http://${site-url}/wp-login.php 直接登录, Limit Login Attempts 插件会加上校验码,使其不容易被爆破。

而 XMLRPC 的全称是 XML Remote Procedure Call,即 XML远程方法调用。它是 XHR (即 XMLHttpRequest)的一种实现,其交互消息都是基于 HTTP-POST 请求,请求的内容是 XML,服务端的返回结果同样也是 XML。

对于爬虫机器人而言,相对于 WP Login 方式,使用 XMLRPC 会更方便。因为前者更接近仿真方式登录,而后者则是纯脚本交互,而且可以绕过 Limit Login Attempts 等插件对登录页面的保护。

处理

知道根源,处理就很简单了。因为作为站长,一般是用不到 XMLRPC 去管理自己站点的,所以禁用它即可。

而禁用的方法有很多,最简单直接的方法,就是修改网站后台根目录的 .htaccess 文件,在末尾加上这段内容即可:

# forbit xmlrpc.php request (crawler, ddos, ...)
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
白帽子渗透测试入门资源:参考书、课程、工具、认证 白帽子渗透测试入门资源:参考书、课程、工具、认证
前言初入渗透测试领域,过程中遇到不少错综复杂的知识,也遇到不少坑,特此记录,慢慢整理慢慢填。 名词解析 名词 全称 解析 PwK Penetration Testing with Kali Linux Kali-Linux 渗透测
2018-12-16
下一篇 
WINDOWS 内核学习顺序指引清单 WINDOWS 内核学习顺序指引清单
前言鉴于很多同学想学习 逆向工程,但是找不到切入点导致无从入手,因此编写了这个指引清单。 本文原则上只是一个学习指引目录(虽然部分章节有提供一些资料),因涉及知识面太多,具体内容以后再逐渐填充。 有兴趣的同学可根据指引清单,先行逐步扩展学习
2018-11-22
  目录