2017-11-11 325 views
0

我是JMeter的新手。我正在执行登录测试。我试图提取CSRF令牌,但我不明白。我不知道如何解决它。如何从请求中提取CSRF cookie并发送到HTTP请求中而不使用JMeter中的参数

request data

regular expression extractor

当我试图把CSRF令牌 - “引用名称是” 成HTTP请求 - “参数” 我得到了错误。

HTTP Request - Parameters

我在这里停留。我不知道如何放置CSRF标记 - 没有“参数”的“参考名称”。请帮帮我。

+0

我知道这不是一个答案,但在Cookie是令牌不提供针对CSRF任何保护,也没有参数来实现双张贴。 :)(或者,也许我们无法看到帖子参数?我不知道JMeter。) –

回答

0

要使用JSON正文在POST请求中发送参数,您可以在路径字段中添加参数吗?登录,你的情况增加

?csrf=${token} 
0

首先,你应该用浏览器浏览,分析 流量和模拟天生的。

Chrome有一个工具可以使用,或者您可以使用Fiddler。 一般来说,第一次将CSRF作为cookie从服务器返回,然后它必须作为cookie返回,并且在标题中返回。

有时值会更改,即使在同一个会话中。 请注意这一点。

所以你必须:

  • 插入一个cookie管理器(在项目顶层)
  • 提取响应报头值(每次改变时间)
  • 将它插入页眉在下面所有的请求
0

提取一个cookie成JMeter Variable的最简单的方法参数使用HTTP Cookie Manager

  1. 添加HTTP Cookie管理器到您的测试计划
  2. 在下一行添加到user.properties文件(生活在你安装Jmeter的 “bin” 文件夹)

    CookieManager.save.cookies=false 
    
  3. 重启JMeter的到挑选属性

当cookie来自服务器时,您将可以在需要时以${COOKIE_csrftoken}的身份访问它。

的更多信息:HTTP Cookie Manager Advanced Usage - A Guide