针对 Netlify 密码保护站点的 OWASP ZAP

OWASP ZAP against Netlify password protected site

我需要 运行 OWASP ZAP 针对我们在 Netlify 上的一个站点 运行ning,但它受密码保护(请参阅屏幕截图了解我的意思)。对于那些不知道它是如何工作的人,当您访问该站点时,Netlify returns 一个 401 请求的响应是表单。该表单采用密码(输入名称为 password)并将其 POST 设置为相同的 URL(因此 https://myapp.netlify.app/ returns 401 and then the form POSTs it to https://myapp.netlify.app)。我已经创建了 应该 工作的上下文,但我认为它不喜欢 401 被返回为与 POST 相同的 URL。

我确定我只是在做一件非常愚蠢的事情,但这里是配置中的相关片段:

<authentication>
    <type>2</type>
    <strategy>EACH_RESP</strategy>
    <pollurl/>
    <polldata/>
    <pollheaders/>
    <pollfreq>60</pollfreq>
    <pollunits>REQUESTS</pollunits>
    <form>
        <loginurl>https://myapp.netlify.app</loginurl>
        <loginbody>password={%password%}</loginbody>
        <loginpageurl>https://myapp.netlify.app</loginpageurl>
    </form>
</authentication>

我也试过这个片段,以防它需要用户名(UI 一直强制使用用户名):

<authentication>
    <type>2</type>
    <strategy>EACH_RESP</strategy>
    <pollurl/>
    <polldata/>
    <pollheaders/>
    <pollfreq>60</pollfreq>
    <pollunits>REQUESTS</pollunits>
    <form>
        <loginurl>https://myapp.netlify.app</loginurl>
        <loginbody>username={%username%}&amp;password={%password%}</loginbody>
        <loginpageurl>https://myapp.netlify.app</loginpageurl>
    </form>
</authentication>

小学生错误。我已正确配置所有内容,但没有提供用户(我认为强制用户会被选中)。

运行 zap-baseline.py -t https://myapp.netlify.app/ -r testreport.html -n /zap/wrk/myapp.context -U testuser 有效。