在Linux系统上,Postman可通过以下步骤安装:
Postman-linux-x64-version.tar.gz);tar -xvf Postman-linux-x64-version.tar.gz;Postman文件夹移动至/opt目录:sudo mv Postman /opt;sudo ln -s /opt/Postman/bin/postman /usr/local/bin/postman。postman即可启动应用。接口安全性测试的核心是认证机制与权限控制,需通过Postman模拟不同场景验证:
Headers选项卡中添加Authorization: Bearer {{access_token}}({{access_token}}为环境变量,需提前通过登录接口获取并存储);Authorization选项卡中选择Basic Auth,输入用户名和密码(Postman会自动编码为Basic base64(username:password));Authorization选项卡选择OAuth 2.0,填写授权端点、客户端ID等信息,获取access_token后添加至请求头。401 Unauthorized,非法Token应返回403 Forbidden。通过构造恶意输入,验证接口对SQL注入、XSS攻击等的防护能力:
' OR '1'='1),例如GET /api/users?name=normal_user' OR '1'='1,预期结果应为400 Bad Request或拒绝执行SQL语句;<script>alert('xss')</script>),例如POST /api/comments with Body {"comment": "<script>alert('xss')</script>"},预期结果应为过滤脚本或返回400 Bad Request。确保接口使用HTTPS协议(而非HTTP),并验证TLS版本:
https://开头,发送请求后检查响应头是否包含SSL/TLS相关字段(如ssl-socket-factory);Pre-request Script中设置TLS版本(如pm.request.setProtocolVersion(1.2)),验证接口是否支持安全的TLS版本(如TLS 1.2及以上)。通过触发错误响应,验证接口是否泄露敏感信息(如数据库错误详情、系统路径):
GET /api/users/999999,其中ID不存在)、缺失必填字段(如不传email字段);Tests选项卡中编写脚本,检查错误响应是否包含敏感关键词(如sensitive_data、error stack trace),例如:pm.test("Error response should not contain sensitive information", function () {
if (pm.response.code >= 400) {
var sensitiveInfo = pm.response.text().match(/sensitive_data/);
pm.expect(sensitiveInfo).to.be.null;
}
});
预期结果:错误响应应返回通用提示(如“Invalid request”),而非敏感信息。
通过Postman的Tests选项卡编写JavaScript断言脚本,自动化验证安全指标,并使用Collection Runner批量运行:
pm.test("Status code is 401 for unauthorized access", function () { pm.response.to.have.status(401); });;pm.test("Response contains error message", function () { const jsonData = pm.response.json(); pm.expect(jsonData.error).to.exist; });;Tests中提取Token并存入环境变量:const token = pm.response.json().token; pm.environment.set("auth_token", token);。Collection,点击Collection右侧的Run按钮,选择迭代次数、数据文件(如CSV/JSON),查看测试报告(标记失败用例)。{{variable_name}}语法引用环境变量(如{{base_url}}、{{access_token}}),便于切换测试环境(开发、测试、生产);Pre-request Script或Tests脚本获取依赖接口的返回值(如登录接口的Token),并存入环境变量,供后续接口使用(如pm.environment.set("auth_token", pm.response.json().token))。通过以上步骤,可在Linux环境下使用Postman全面测试接口的安全性,覆盖认证、输入、传输、错误处理等关键环节,及时发现并修复潜在安全漏洞。