我正在加载测试一个CSRF保护的网站,并成功提取csrf令牌并授权登录,但是当加载包含许多不同图形的页面时,所有的图形似乎都失败了。从JMeter返回的事务对主体数据有一个较大的JSON响应,头中有一个。
当手动浏览网页时,一切都很好,只有在JMeter上才会失败。
我在登录页面提取CSRF证书,并将其发送到有效的登录事务参数。



这里有一个失败的事务(所有其他事务都是相同的)--它是一个大型JSON POST请求


这是失败事务的响应。如您所见,X令牌与我在标头中传递的令牌完全不同,并表示因为CSRF而被禁止使用。我还再次尝试查看是否能够找到一个与响应头中的令牌类似的CSRF令牌,但我找不到。


因此,我的问题是,为什么这失败,但登录通过与相同的CSRF令牌?是否在某个地方生成了额外的令牌?我还没有找到任何看起来与标题中的标记类似的令牌。
任何帮助都将是非常感谢的,因为我已经在这个问题上坚持了一段时间。
谢谢
发布于 2020-11-05 15:45:55
很可能您不仅需要从登录页中提取令牌,还需要从后续的每个页面中提取令牌
根据同步器令牌模式章节:
应该在服务器端生成CSRF令牌。它们可以为每个用户会话或每个请求生成一次。每个请求令牌比每个会话令牌更安全,因为攻击者攻击被盗令牌的时间范围很小。
因此,尝试将您的uaa_cert提取器向上移动一个级别,这样它将应用于所有HTTP请求采样器,而不仅仅是一个(多亏了JMeter范围规则),并且它会解决您的问题。如果没有-再检查一下你传递令牌的方式
https://sqa.stackexchange.com/questions/46125
复制相似问题