在Jmeter中获取CSRF令牌以进行salesforce负载测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Jmeter中获取CSRF令牌以进行salesforce负载测试相关的知识,希望对你有一定的参考价值。

我正在尝试对salesforce.com进行负载测试。我正在通过test.salesforce.com进行日志记录,这会将我重定向到控制台URL。现在,后续的帖子请求接受以下帖子参数。

  • ViewStateCSRF
  • ViewStateMAC
  • visualforce.ViewState

但是此帖子请求失败并显示“无效会话”错误消息。我猜这是因为CSRF令牌。我试图提取(在Jmeter中的后处理器)CSRF令牌,但我无法在先前请求的响应/ cookie中的任何地方找到此令牌。在其中一个html响应中,我可以找到一些CSRF令牌(例如:runApexCsrfToken,consoleAjaxCsrfToken等)。我尝试了所有这些但没有结果。

总结一下我的问题:我需要在后登录请求中传递csrf令牌,但我无法在之前的响应中找到此令牌。

你能帮帮我吗?

PS:我在登录后尝试了“https://c.salesforce.com/libs/granite/csrf/token.json”的请求,但没有找到任何令牌作为回应。

答案
  1. 确保将HTTP Cookie Manager添加到您的测试计划中
  2. 确保检查所有响应字段,因为令牌可以是URL的一部分或作为HTTP Header
  3. 您不仅需要关联ViewStateCSRF,还需要关联所有其他动态参数

如果您在识别动态参数值的来源时遇到问题,可以尝试使用基于云的代理服务记录您的场景,它能够以“SmartJMX”模式导出记录的脚本,并自动检测和关联动态参数。有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%文章

以上是关于在Jmeter中获取CSRF令牌以进行salesforce负载测试的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter 身份验证令牌

Apache Jmeter - CSRF 令牌不匹配

在没有表格的情况下获取 Codeigniter CSRF 令牌?

如何在暴力模式下使用 OWASP ZAP 在授权请求中获取 CSRF 令牌

利用Jmeter测试CSRF令牌验证的Web API

如何在 iOS 中获取 CSRF 令牌?