【问题标题】:JMeter: Record n play, also gives API accessJMeter:录制 n 播放,还提供 API 访问权限
【发布时间】:2020-08-27 23:43:30
【问题描述】:

我记录了一个应用程序的登录流程,发现了一些如下所示的 URI:

  1. /api/oauth2/启动GET
  2. /oauth2/授权GET
  3. /api/v1/oauth2/授权GET
  4. /api/v1/oauth2/认证POST
    • {"username":"${Username}","password":"${Password}","client_id":"${client_Id}","response_type":"code","redirect_uri":"${scheme}://${host}/api/oauth2/callback","server_id":"${server_Id}"}

当我通过 JMeter 依次点击上方时,我收到了 200 响应。就像 JMeter 一样,我尝试在 Postman 中记录,它的工作原理相同,但它不是 JSON,而是以XML 格式给出响应。

它不会生成 access_token,它通过会话 cookie 工作。

我的问题是 - 我真的有 API 访问权限还是只是浏览器记录 n 播放?如果是,这是否意味着我可以访问任何 API(如果我是该应用程序的注册用户)?例如:Facebook、YouTube 或任何创业网站。

【问题讨论】:

    标签: api rest jmeter


    【解决方案1】:

    JMeter 在协议级别上工作。这意味着无论您生成什么请求。说一个简单的浏览器请求或 API 调用,您可以轻松地做到这一点。 现在的事情是复制请求。您不必使用浏览器记录请求。你需要分析一些需要的东西。假设邮递员正在生成一个请求。您指定要发送的内容并在那里使用 API 令牌。也可以在那里指定相同的内容。这完全取决于您如何理解请求生成的概念。

    您只需要复制采样器和参数。并且邮递员中的请求标头可以以相同的方式在这里复制。 对于每个 HTTP 请求采样器,请确保添加相应的子 HTTP 标头管理器配置元素。

    标头基本上告诉服务器我们正在使用什么客户端以及正在以什么形式发送数据,然后服务器相应地用信息做出响应。

    【讨论】:

      【解决方案2】:

      您录制的是OAuth2 流,如果没有correlating 动态值,您将无法重播它。

      如果你有正确的access_token,你可以访问Google APIFacebook Graph API,但我认为你不应该直接测试它们,你应该只关注你的应用程序。

      【讨论】:

      • 我不会测试 Facebook 或 Google :)。让我重新表述我的问题 - 我们的客户只要求测试他们的网站。我注册,创建用户名,密码访问网站,使用更多其他功能。后来我对 JMeter 做同样的事情。现在 JMeter 向我展示了什么,这是否意味着我真的可以访问他们的 API?如果是,那么在网站上注册的任何人都有 API 访问权限,这似乎是安全问题。
      猜你喜欢
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 2021-10-20
      相关资源
      最近更新 更多