如何从请求中提取CSRF cookie并在不使用JMeter中的参数的情况下发送到HTTP请求

时间:2017-11-11 16:30:10

标签: parameters request jmeter csrf

我是JMeter的新手。我正在进行登录测试。我正在尝试提取CSRF令牌,但我没有得到它。我不知道如何解决它。

request data

regular expression extractor

当我尝试将CS​​RF令牌 - “引用名称”放入HTTP请求 - “参数”时,我收到错误。

HTTP Request - Parameters

我被困在这里。我不知道如何放置CSRF令牌 - “参考名称”没有“参数”。请帮帮我。

3 个答案:

答案 0 :(得分:0)

要在POST请求中使用JSON主体发送参数,您可以在Path字段中添加参数吗?签名,在您的情况下添加

?csrf=${token}

答案 1 :(得分:0)

首先,您应该使用浏览器导航,分析 交通并模仿它。

Chrome有一个工具可以执行此操作,或者您可以使用Fiddler。 一般来说,CSRF首次从服务器返回为cookie,然后必须以cookie和标题的形式返回。

有时,即使在同一会话中,值也会发生变化。 请注意这一点。

所以你必须:

  • 插入一个cookie管理器(在项目的顶层)
  • 从响应标头中提取值(每次更改时)
  • 在所有以下请求中将其作为标头参数插入

答案 2 :(得分:0)

将Cookie提取到JMeter Variable的最简单方法是使用HTTP Cookie Manager

  1. 将HTTP Cookie管理器添加到测试计划
  2. 将下一行添加到 user.properties 文件(位于JMeter安装的“bin”文件夹中)

    CookieManager.save.cookies=false
    
  3. 重新启动JMeter以选择属性
  4. 如果Cookie来自服务器,您可以根据需要以${COOKIE_csrftoken}的形式访问它。

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