导语:在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了 Postman
的代理,这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。
在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了 Postman 的代理,这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。 在接下来的这部分内容中,我们将深入研究一些稍微高级一点的 Postman 功能,这些功能你肯定会用到的。
集合变量

Postman 中的变量几乎可以用于请求中的任何字段。 语法是在它们的两边使用两层花括号。有几个地方我可以使用变量定义它们。 如果它们是静态的,也许我会将它们设置为集合变量。 例如,我一直使用 http://localhost:4000 作为我的测试主机。 如果我将测试 API 的端口从4000改为4001,我不希望一个个编辑每个请求的 URL。接下来我介绍一下我们该如何将它移动到一个集合变量中。首先,在菜单侧栏中打开"集合"列表中编辑该集合的对话框。 我可以单击… 按钮或者右键单击集合名称。这两种操作,我们会得到相同的上下文菜单,然后选择编辑(Edit)。
这将打开一个编辑集合的对话框。 默认视图包括集合的名称和描述的文本框,但是在这两个字段之间还有一行选项卡。
其中一个标签叫做变量(Variables)。这就是我们想要的,点击这个标签会打开另一个对话框,用于编辑变量。

Postman 集合变量编辑界面
它有一个表格,其中包含某个变量的变量名称、 初始值列和 当前值列。 这两个值列之间的差异与 Postman 的付费功能进行同步有关。 在这里重要的一个点是,你将输入初始值,然后选项卡进入当前值字段。 这将自动将当前初始值填充到当前值字段中,并且它将如图所示。 现在我有了一个名为 API_host 的集合变量,其值为 http://localhost:4000。 在完成了变量的编辑之后需要点击更新按钮。
现在是时候修改我的请求,并引用该变量,而不是使用硬编码的主机名和端口。

Postman 中的请求,将 URL 更改为指向一个变量
我只是简单地用占位符替换了每个 URL 中对应的部分: { {API_host}},把鼠标悬停在占位符上可以展开这个变量,会显示变量值和范围。 这里有一些颜色编码也可以帮助我们。 当变量有效时,文本会变成橙色,但是如果我输入一个无效的变量名,文本将变成红色。
我仍然需要对每个请求进行一次更新,让它们使用某个变量。 但是在将来,如果我改变了端口,或者如果我切换到了 HTTPS,或者如果我将我的测试 API 部署到一个完全不同的主机上; 那么我就可以回到集合变量那里并更新变量的值,我的所有请求都会相应地发生改变。
现在,集合变量对于相对静态的字段以及不会经常发生改变的字段是很适合的,但是如果我在一个多租户的解决方案中测试多个环境和部署,甚至多个租户呢? 我可能会使用相同的请求集合,但是使用不同的变量集合。 那么在这种情下环境变量就可以处理这个问题。
环境变量(Environment Variables)
你可能已经注意到了窗口右上角的界面。 让我们打开看看:

在 Postman 中的环境变量界面
-
环境选择器下拉菜单。 可以选择一个环境。
-
快速查看按钮,点击后可以查看你的环境中设置的内容。
本篇博客深入探讨了如何在API渗透测试中利用Postman的集合变量、环境变量、路由参数和无记名令牌功能。通过设置和使用这些功能,可以更高效地管理和自动化测试过程。此外,还介绍了如何通过Postman与Burp Suite结合,进行Bearer Tokens的自动化更新以及使用Jython和扩展插件如JSON Web Token Attacker和Autorize增强测试能力。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=130494252&d=1&t=3&u=bdd733ef32ac433b967811b86f00ca4a)
857

被折叠的 条评论
为什么被折叠?



