XML-RPC接口安全漏洞分析与风险预警

本文详细分析了XML-RPC接口暴露导致的安全风险,包括未授权访问、DDoS攻击和暴力破解放大攻击,提供了完整的概念验证步骤和缓解建议,涉及WordPress平台的安全配置问题。

XML-RPC接口启用且可访问漏洞报告

摘要

网站███启用了XML-RPC接口,该接口暴露了多个方法,包括pingback.ping和system.multicall。攻击者可滥用这些方法执行大规模拒绝服务(DDoS)攻击和暴力破解放大攻击,严重威胁网站的可用性和安全性。

复现步骤

  1. 向███████发送POST请求,包含以下XML负载:
1
2
3
4
<?xml version="1.0"?>
<methodCall>
  <methodName>system.listMethods</methodName>
</methodCall>
  1. 观察响应,其中包含暴露的XML-RPC方法列表,如pingback.ping和system.multicall

  2. 攻击者可利用这些方法发起基于pingback的DDoS攻击,或使用system.multicall进行暴力破解放大

支持材料参考

  • WordPress官方XML-RPC使用文档
  • 关于XML-RPC pingback DDoS攻击和漏洞的公开建议
  • 使用system.multicall进行暴力破解放大的常见安全报告
  • CWE 611 XML外部实体(XXE)处理(相关风险)
  • OWASP API安全Top 10

影响

启用的XML-RPC接口允许未经身份验证的攻击者滥用这些方法,可能导致针对网站或第三方的分布式拒绝服务攻击,以及暴力破解登录尝试的放大。这威胁到网站的可用性,并可能暴露敏感信息。

概念验证详情

初始发现

研究人员发现XML-RPC端点完全暴露,允许任何未经身份验证的用户执行关键操作,如删除帖子、编辑内容和其他管理操作,无需任何身份验证或授权。

安全验证

作为额外的安全概念验证,研究人员使用system.getCapabilities方法通过XML-RPC进行测试,无需任何身份验证:

1
2
3
4
5
6
curl -X POST ███ \
-H "Content-Type: text/xml" \
-d '<?xml version="1.0"?>
<methodCall>
<methodName>system.getCapabilities</methodName>
</methodCall>'

服务器响应了有效的XML-RPC能力,确认:

  • XML-RPC接口已启用
  • 接口未经身份验证
  • 可以远程枚举或与API交互

缓解建议

  • 禁用或限制XML-RPC访问
  • 实施强身份验证机制(如OAuth、API密钥)
  • 应用IP白名单或其他访问控制

HackerOne处理结果

HackerOne分析团队将报告状态更改为"信息性"并关闭,认为虽然公开可访问的WordPress XML-RPC接口可能看起来是安全漏洞,但并未对平台构成具体和可利用的风险。该端点设计用于联系外部资源,与其他公共端点类似。结合这些端点发起(效率较低的)DoS攻击的可能性不在Tucows(VDP)的解决范围内,不会作为安全漏洞进行跟踪。

报告最终于2025年10月10日披露。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计