当前位置: 首页 > 知识库问答 >
问题:

Apache Jmeter-CSRF令牌不匹配

宋鸿德
2023-03-14

我已经用html登录表单记录了基本的Apache Jmeter场景,它使用csrf令牌。

应用程序记录的示例令牌如下所示:

<input id="csrf_token" name="csrf_token" type="hidden" value="IjU5NzBhMmI3ODNjZGVjMGUwYmI2YTU4ZjRkMTk0MjI0MTg3OTJlNDAi.C8ecSA.PkvdB0aM2M0rfhSLcb_ktyeInfs">
input id="csrf_token" name="csrf_token" type="hidden" value="(.+?)"
username=username&password=password&csrf_token=IjU5NzBhMmI3ODNjZGVjMGUwYmI2YTU4ZjRkMTk0MjI0MTg3OTJlNDAi.C8ecSA.PkvdB0aM2M0rfhSLcb_ktyeInfs&submit=Zaloguj+si%C4%99

到目前为止,我不能得到什么是错误的,非常简单的场景,但有一个问题。我使用的是apache JMeter3.1。

共有1个答案

宰父焕
2023-03-14

我建议检查除要求身体部分以外的其他部分,即。

  • 您的应用程序可能希望CSRF令牌位于请求头中,在这种情况下,您需要添加HTTP头管理器来发送相关的头
  • 您的应用程序可能需要一个带有CSRF令牌值的Cookie。在这种情况下,您需要使用HTTP Cookie管理器
  • 来处理它
  • 这可能是HTML编码和解码的问题,即由于转义HTML中不允许的实体,提取的令牌值可能有一些额外的字符。在这种情况下,您将需要使用诸如__unescapehtml()之类的JMeter函数来规范化令牌值

使用浏览器中的开发人员工具和JMeter的View Results Tree侦听器仔细检查请求和响应,最有可能的原因是上面列出的。

以防万一,请查看如何加载测试CSRF保护的网站指南。

 类似资料:
  • 我刚刚创建了一个全新的Laravel6项目,安装了Passport功能(LaravelPassport),并想尝试一下。现在,在Postman中,我尝试访问缺省路由POST/oauth/clients,按预期填充名称并重定向参数。 在这一点上,我将得到一个“CSRF令牌不匹配”错误,我在这里会做错什么?我知道这是一个非常有限的信息继续下去,如果需要更多的问了。 运行Laravel网站与'php工匠

  • 问题内容: 我试图通过ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我从数据库中获取数据的查询… 但是当我单击删除链接数据未删除并显示csrf_token不匹配… 问题答案: 您必须在ajax请求中添加 数据 。我希望这样会有用。

  • 我正在尝试通过Ajax从数据库中删除数据。 HTML: 我的ajax代码: 这是我要从数据库中提取数据的查询... 但当我单击“删除链接数据未删除”并显示csrf_token不匹配时...

  • 我在Laravel5.2中遇到AJAX POST请求问题。我正在AJAX请求中传递一个有效的CSRF令牌。 使用Laravel Collective HTML package form标记打开和关闭表单,该标记会自动添加一个带有CSRF标记的隐藏标记输入。呈现的HTML: 使用Fetch API和FormData执行AJAX请求: CSRF令牌和表单数据位于请求负载中: 请求有效负载和x-csrf

  • 我试图张贴使用ajax在laravel 5.我得到CSRF令牌不匹配异常。我环顾四周,发现可能存在这样的问题,但在这种情况下,我确实包括了所有必要的代码。 请看一下我的代码。 看法 我已经在隐藏输入中提供了令牌,并将其包含在我的帖子中。 我有一个元在头如下。 下面是我的控制器。 这个只是测试用的,这里没什么。我的路线如下 请帮我解决这个问题 这是日志中的输出。 以下是我的浏览器控制台帖子标题和页面

  • 我有一个Spring Boot 1.5.12应用程序,默认情况下会启用CSRF保护。我在提交POST请求时使用CSRF令牌。 但是,有些URL需要通过GET请求获取,带有cookie信息,但不需要CSRF令牌,即。 我如何强制我的Spring Boot应用程序也需要CSRF令牌来处理这样的请求? PS:我有一些关于GET请求不需要CSRF保护的意见。但是,它也应该受到保护:https://www.