WordPress关闭XML-RPC

WordPress关闭XML-RPC
https://acgal.top/images/2020/08/09/xml-rpc-protocol-ip-disclosure-attacks.png

XML-RPC 是 WordPress 用于第三方客户端的 API 接口,还可以用于 pingbacks 和 trackbacks 端口!

但是这个XML-RPC协议有个严重的安全问题,会泄露源站ip。更严重的是这种xmlrpc.php的攻击可以绕过限制。攻击的方式直接POST数据到xmlrpc.php

XML-RPC执行方式

<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
  <methodName>wp.getUsersBlogs</methodName>
  <params>
   <param><value>帐户名</value></param>
   <param><value>密码</value></param>
  </params>
</methodCall>

tools

具体可以使用一个网站,或者你本身有服务器也可(查看nginx或者apache的log)

http://pingb.in/

https://acgal.top/images/2020/08/09/Snipaste_2020-08-09_22-40-13.png

其实只要在开启XML-RPC协议的wp站点post一下xml,就可以直接返回源ip

规避方法

1.关闭XML-RPC (pingback) 的功能

//只需要在当前主题functions文件中添加以下代码即可关闭XML-RPC功能即可。

add_filter('xmlrpc_enabled', '__return_false');

如果仅仅想关闭XML-RPC的pingback端口,而不影响第三方发表功能,在主题functions.php文件中添加以下代码:

/**
 * WordPress 关闭 XML-RPC 的 pingback 端口
 */
add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
function remove_xmlrpc_pingback_ping( $methods ) {
    unset( $methods['pingback.ping'] );
    return $methods;
}

2.使用 .htaccess屏蔽xmlrpc.php

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

终极大招

删除wp根目录下的xmlrpc.php

other

其实有很多插件可以做到这个功能,but可能会占一部分性能,不太推荐!

具体内容来自:securityboulevard

Made by Gabreel

发表评论

textsms
account_circle
email

WordPress关闭XML-RPC
XML-RPC 是 WordPress 用于第三方客户端的 API 接口,还可以用于 pingbacks 和 trackbacks 端口! 但是这个XML-RPC协议有个严重的安全问题,会泄露源站ip。更严重的是这种xmlrpc.php的…
扫描二维码继续阅读
2020-08-09