gpt4 book ai didi

javascript - ZAP 脚本行为不一致

转载 作者:行者123 更新时间:2023-12-01 00:53:16 25 4
gpt4 key购买 nike

我正在尝试为 Open API 扫描项目设置身份验证和 http 发送器脚本。

在某个时间点,我已经达到了 oauth2 的身份验证脚本正常工作(生成从远程端点获取的有效 token )并且 http_sender 为请求附加授权 header 的状态。后来发现我输错了所需的 header ,因此我更改了它的名称,保存了脚本并重新运行脚本(通过扫描)。结果现在两个 header 都附加到传出的 http 请求中:输入错误的版本和正确的版本。重新启动 ZAP 并重新加载 session 后,行为不会改变,但当我创建新 session 时,输入错误的 header 会消失,我找不到在哪里可以清理它,并且当需要在其中进行一项细微更改时,重新创建 session 看起来不正确。脚本。

我遇到的第二个问题是身份验证脚本在没有对其进行任何修改的情况下停止工作。我偶尔会在环境之间切换,但代码保持不变。我什至将硬编码值从上下文移动到脚本,但它仍然不起作用。我已经在 python 中设置了一个并行脚本来获取 token 并且它可以工作(所有参数都相同),但是在 ZAP 中我得到身份验证失败(重新创建 session 没有帮助)。我不拥有 oauth 端点,因此我不可能直接查看它,但我怀疑这两个问题有一些共同点。看起来有些数据驻留在阴影中并影响脚本的运行方式。

发送者脚本的第一个版本:

function sendingRequest(msg, initiator, helper) {
var loginToken = org.zaproxy.zap.extension.script.ScriptVars.getGlobalVar("logintoken");
msg.getRequestHeader().setHeader("Autentication", "Bearer " + loginToken);
}

发送者脚本的第二个版本:

function sendingRequest(msg, initiator, helper) {
var loginToken = org.zaproxy.zap.extension.script.ScriptVars.getGlobalVar("logintoken");
msg.getRequestHeader().setHeader("Authorization", "Bearer " + loginToken);
}```

Authentication function is just tuned version of the zap template to send oauth2 parameters in the body of the POST request and actually worked for some time. It would really help to have some troubleshooting capabilities during scripting.

最佳答案

关于第一个问题,这完全取决于脚本的使用方式。 ZAP session 是所有请求和响应的记录。对于一些旧的响应,您使用了错误的 header 。事情已经发生了,你就无法挽回了。如果您重复使用这些请求,那么 ZAP 将发送错误的 header ,除非您将其删除。如果您创建的新请求不是基于历史请求,则 header 不应出现。

关于第二个问题,身份验证很困难,并且可能会因看似微小的差异而失败:(一个好的选择是通过 ZAP 代理您的 python 脚本。希望它仍然可以工作,然后您可以将工作请求与失败者。

关于javascript - ZAP 脚本行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56785838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com