我正在使用OWASP ZAP来测试我们的API。我们有几个POST端点,它们使用API令牌和共享密钥进行身份验证和验证请求。
使用共享密钥连接和散列请求正文的某些参数。此值将插入到请求标头中。
如何使用OWASP ZAP以编程方式生成此签名?
请求标题
Content-Type: "application/json"
Accept: "application/json"
API-Key: {API_KEY}
Signature: {hash(field_one + field_two + field_three + SHARED_SECRET)}
请求正文
{
"field_one": "abc",
"field_two": "123",
"field_three": "xyz"
}
SHARED_SECRET
是客户端本地存储的密码,用于对请求中的三个字段进行哈希处理。
它与API-Key一起存储在服务器上,以便识别和验证请求。
答案 0 :(得分:1)
使用HTTP Sender Script。在ZAP UI中创建它,以便在编写时对其进行测试。首先确保您只是检测要更改的请求,然后提取所需的字段值,最后生成哈希值。在每个阶段继续测试,以确保它做你需要的。如果您需要特定的帮助,那么总是zaproxy-scripts组。