从请求正文中的参数生成请求标头中的API签名

时间:2018-04-06 12:04:34

标签: owasp zap

我正在使用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一起存储在服务器上,以便识别和验证请求。

1 个答案:

答案 0 :(得分:1)

使用HTTP Sender Script。在ZAP UI中创建它,以便在编写时对其进行测试。首先确保您只是检测要更改的请求,然后提取所需的字段值,最后生成哈希值。在每个阶段继续测试,以确保它做你需要的。如果您需要特定的帮助,那么总是zaproxy-scripts组。