You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress XML-RPC system.multicall多实例验证异常求助

WordPress XML-RPC Multicall 后续调用认证失败问题解决

在用JMeter对启用XML-RPC的WordPress站点做渗透测试时,遇到了一个问题:使用system.multicall批量调用wp.getUsersBlogs接口时,第一个调用填入正确用户名密码能得到正常响应,但第二个及后续调用即使用正确凭据,始终返回“incorrect username or password”错误。

请求报文示例:

POST /xmlrpc.php HTTP/1.1
Host: example.com

<?xml version="1.0"?>
    <methodCall>
    <methodName>system.multicall</methodName>
    <params>
      <param><value><array><data>
      <value><struct>
      <member>
        <name>methodName</name>
        <value><string>wp.getUsersBlogs</string></value>
      </member>
      <member>
        <name>params</name><value><array><data>
        <value><array><data>
        <value><string>User1</string></value>
        <value><string>password1</string></value>
        </data></array></value>
        </data></array></value>
      </member>
      </struct></value>
      <value><struct>
      <member>
        <name>methodName</name>
        <value><string>wp.getUsersBlogs</string></value>
      </member>
      <member>
        <name>params</name>
        <value><array><data>
        <value><array><data>
          <value><string>User2</string></value>
          <value><string>Password2</string></value>
          </data></array></value>
        </data></array></value>
      </member>
      </struct></value>
      </data></array></value>
      </param>
    </params>
    </methodCall>

问题原因

这是WordPress XML-RPC的内置机制导致的:当使用system.multicall时,整个HTTP请求的认证上下文是全局共享的。第一个wp.getUsersBlogs调用成功通过认证后,后续所有调用会自动复用这个已建立的认证会话,不再读取后续调用里的用户名和密码参数。换句话说,第二个调用的User2和Password2会被直接忽略,系统会用第一个调用的User1身份去验证第二个请求,结果自然是认证失败。

解决办法

  • 拆分独立请求:不要在同一个system.multicall里批量测试多个用户,为每个用户单独发送一个独立的XML-RPC请求(直接调用wp.getUsersBlogs,不使用system.multicall)。这样每个请求都能独立处理自身的认证逻辑,不会互相干扰。
  • 强制关闭会话保持(备选):如果一定要使用multicall,可以尝试在JMeter中为请求设置Connection: close的HTTP头,强制关闭会话保持,但这种方法不一定能绕过WordPress内部的认证上下文复用逻辑,最可靠的方案还是拆分请求。

内容的提问来源于stack exchange,提问作者Darshil765

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:35:25