如何使用Postman Rest客户端获取和重用CSRF令牌

如何使用Postman Rest客户端获取和重用CSRF令牌,rest,web-services,security,postman,csrf,Rest,Web Services,Security,Postman,Csrf,我正在使用Postman Rest客户端访问Rest服务。当我试图从Postman客户端执行rest服务时,我遇到以下错误 HTTP Status 403 - Cross-site request forgery verification failed. Request aborted. rest服务似乎是通过实现CSRF令牌来保护的。有人知道如何获取CSRF令牌并将其重新用于将来的请求吗?在应用程序中有几种方法可以防止CSRF。根据您的服务具有哪种类型的保护,您将不得不执行稍有不同的操作,

我正在使用Postman Rest客户端访问Rest服务。当我试图从Postman客户端执行rest服务时,我遇到以下错误

HTTP Status 403 - Cross-site request forgery verification failed. Request aborted.


rest服务似乎是通过实现CSRF令牌来保护的。有人知道如何获取CSRF令牌并将其重新用于将来的请求吗?

在应用程序中有几种方法可以防止CSRF。根据您的服务具有哪种类型的保护,您将不得不执行稍有不同的操作,这可能相对比较困难

最著名的保护可能是,在这种情况下,您必须首先下载页面,读取令牌并在后续请求中将其传递回,基本上模拟真实用户。由于同步器令牌是有状态的(需要用户会话形式的服务器状态),并且您的用例是RESTful服务,因此我认为这不是实现的方法

另一种更适合于服务的保护可能是服务的一些变体。在这种情况下,根据实现的不同,您很可能必须发回与cookie和请求头相同的令牌值

服务使用的另一种方法可能是,从您的角度来看,它类似于同步器令牌(但无状态)

还有一种(顺便说一句,安全性要低得多)方法可能只是检查请求中的referer和/或origin头。在这种情况下,您只需添加适当的请求头

我建议您使用Windows或Linux(或Windows)上的代理来观察服务通常使用的方法、需要的头值和cookie名称等。然后您可以以正确的方式发出自己的请求,按照服务的预期发送CSRF令牌

最简单的方法是先点击GET服务,这样我们就可以得到响应和CSRF令牌。我们可以在再次发送POST请求时使用该CSRF令牌。CSRF令牌可在邮递员客户端响应的
正文下找到

1)在Chrome/Firefox中,右键单击任意位置打开控制台,然后选择“检查”(对于Chrome)或“检查元素”(对于Firefox)

2) 选择“网络”选项卡。 3) 4)

在看到请求时,首先执行get请求或登录,以获取从服务器发送的CSRF-TOKEN

(五) 在下一个post请求中,使用上一个请求中的CSRF-TOKEN


您好,我正在通过邮递员发送与您上述相同的请求,但仍然收到相同的错误403 invalids csrf。如果你能帮助我,我将不胜感激。谢谢,因为X-CSRF-TOKEN的价值发生了变化……您必须在它更新时获得它,比如在新登录后,如果我的应用程序没有get服务,可能会出现重复的情况?