首页 > 其他分享 >Jmeter访问网站返回403(CSRF verification failed. Request aborted.)

Jmeter访问网站返回403(CSRF verification failed. Request aborted.)

时间:2023-06-28 19:33:30浏览次数:40  
标签:aborted 网站 Request 校验 failed cookie CSRF csrfmiddlewaretoken 请求

django网站自带CSRF校验,所以jmeter直接请求时会出现校验不通过的情况

一、CSRF校验

CSRF是指跨站请求伪造,CSRF攻击的流程大概是我们登录网站A后存在本地的cookie,之后打开了另一个危险网站B,这个网站B使用本地cookie向网站A发起请求(该请求不是用户主动发起,是个恶意请求),网站A误以为是用户本人发起的请求,从而绕过登录执行一些本人才能执行的非法操作,这就是说网站A遭到了CSRF攻击
CSRF校验就是为了避免这种攻击,django的CSRF校验是通过同时收到csrftoken和csrfmiddlewaretoken,再对这两个值进行比较校验

二、问题解决

根据以上得知,我们用jmeter 发起请求时需要带csrftoken和csrfmiddlewaretoken

  1. 使用一个get请求get_cookie,获得csrftoken和csrfmiddlewaretoken
  2. 添加HTTP Cookie Manager获得Cookie中的csrftoken,并自动在正式请求Request2时带上这个Cookie
  3. 添加察看结果树
  4. 运行请求get_cookie,查看返回

    可以看到返回中带有一个隐藏属性<input type="hidden" name="csrfmiddlewaretoken"……>
    这个就是要找的值
  5. 在get_cookie请求添加Xpath提取器,解析返回值,取csrfmiddlewaretoken放入到变量csrfmiddlewaretoken中
  6. 在请求Request2中添加参数csrfmiddlewaretoken
  7. 再次请求成功

标签:aborted,网站,Request,校验,failed,cookie,CSRF,csrfmiddlewaretoken,请求
From: https://www.cnblogs.com/congyinew/p/17512344.html

相关文章