【问题标题】:Form Based Authentication OWASP ZAP for HTTPS application用于 HTTPS 应用程序的基于表单的身份验证 OWASP ZAP
【发布时间】:2018-10-20 10:55:57
【问题描述】:

我正在尝试使用 ZAP 的 python API 来使用 OWASP ZAP 的基于表单的身份验证功能。

我注意到,在使用 HTTP 应用程序(例如 - http://demo.testfire.net/)时,它能够在登录后抓取并提供额外的 URL。但是,当我对 HTTPS 应用程序尝试相同的操作时,它不会一次获取额外的 URL已登录。

我的问题是 - ZAP 是否仅支持 HTTP 相关 Web 应用程序的基于表单的身份验证?

【问题讨论】:

    标签: owasp zap


    【解决方案1】:

    是的,我们有一个常见问题解答:https://github.com/zaproxy/zaproxy/wiki/FAQformauth

    仅使用 API 时很难调试问题,所以我建议先使用 UI,一旦你完成了工作,然后将你所做的转换为 API。

    通过用户界面:

    1. 列表项
    2. 通过 ZAP 代理时探索您的应用
    3. 使用有效的用户名和密码登录
    4. 定义上下文,例如,在“站点”选项卡中右键单击应用的顶部节点并选择“包含在上下文中”
    5. 在“站点”或“历史记录”选项卡中找到“登录请求”
    6. 右键单击它并选择“标记为上下文”/“基于表单的身份验证登录请求”
    7. 检查用户名和密码参数是否设置正确 - 他们几乎肯定不会!
    8. 在响应中查找可用于确定用户是否登录的字符串
    9. 突出显示此字符串,右键单击并选择相关的“标记为上下文”/“登录/退出指示器” - 您只需要设置其中一个,而不是两个都设置
    10. 双击相关上下文节点并导航到“用户”页面 - 检查用户详细信息是否正确,添加您要使用的任何其他用户并全部启用
    11. 导航到上下文“强制用户”页面并确保选择了您要测试的用户
    12. 现在应该启用“强制用户模式已禁用 - 单击以启用”按钮
    13. 按下此按钮将导致 ZAP 在检测到用户不再登录时重新发送身份验证请求,即使用“登录”或“注销”指示器。

    通过 API 的过程是相同的,但使用 API 调用:

    context/includeInContext
    authentication/setAuthenticationMethod
    
    authMethodName : formBasedAuthentication
    authMethodConfigParams : loginUrl=http://example.com/login.html&loginRequestData=username%3D%7B%25username%25%7D%26password%3D%7B%25password%25%7D
        authentication/setLoginIndicator or setLogoutIndicator
        forcedUser/setForcedUserModeEnabled
    

    authMethodConfigParams 参数的值必须是 URL 编码的,在这种情况下 loginRequestData 是 username={%username%}&password={%password%}

    【讨论】:

    • 我得到了使用 UI 方法的程序,想澄清一下,在更新“authMethodConfigParams”的值时,如果 POST 数据是“uid=xyz&passw=xyz&btnSubmit=Login”,我将其 URL 编码为“ uid%3Dadmin%26passw%3Dadmin%26btnSubmit%3DLogin" 并使用 API 调用 (zap.authentication.set_authentication_method(contextid, authmethodname, authmethodconfigparams)) 导致“missing_parameter”输出。我在这里使用的方法是对的还是我做错了?请建议。谢谢。
    • 我不认为 stackoverflow 是调试此类问题的最佳论坛 - ZAP 用户组groups.google.com/group/zaproxy-users 更好:)
    • 有一个很好的视频教程解释它:alldaydevops.com/zap-in-ten
    • 谢谢 :) 更多视频即将推出 - 它们将在 ZAP 用户组上公布并链接到 zaproxy.org/videos
    猜你喜欢
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    相关资源
    最近更新 更多