1

使用 Firefox:我使用 ZAP 代理使用有效凭据进行身份验证我捕获302响应代码和有效 cookie。

使用 Chrome:我提供了错误的凭据,并将响应替换为302包含有效捕获的 cookie 的捕获响应。我现在可以登录到应用程序。

这是发现假阳性案例吗?

如果不是,那么解决此问题的缓解措施是什么。


缓解建议:

应验证多个浏览器和多台机器中的多个用户登录。如果匹配,则使现有 cookie 无效并使用户再次进行身份验证。


我是一名渗透测试员,没有应用程序代码。


如果不提供有效凭据,用户不应通过应用程序的身份验证。

4

1 回答 1

1

请记住,如果您窃取会话 cookie - 就像您窃取了有效凭据一样。您之前提供了错误凭据的事实并不在乎 - 只要您拥有有效的会话 cookie,就如同您拥有有效的门钥匙一样 - 您就可以进入。

可以吗?这取决于。首先,它取决于会话 cookie。如果它有标志 HttpOnly 和安全标志,并且整个通信是通过 ssl (https) 发送的,我们可以假设这个 cookie 是安全的,因为理论上 - 它只能在服务器和发送设备上访问,只能通过浏览器访问。唯一可能被盗的情况(理论上)就像您所做的那样 - 有人可以访问登录的设备并窃取它。保护这台 PC 的安全是防病毒软件、用户等,而不是经过测试的系统来防止这种窃取。

另一方面 - 如果系统存储了一些关键数据,它不仅应该通过 cookie 来验证用户。它还应该检查请求是否来自与 cookie 关联的浏览器相同的浏览器,具有相同的 ip 等。请记住,这些数据仍然可以被篡改。

会话 cookie 就像一扇门的钥匙——如果有人拿到了你的钥匙,他就可以进入大楼。这里的问题不在于有效密钥允许任何使用它的人进入这一事实,而是该密钥允许打开的事实。这取决于他输入的内容。如果钥匙允许进入自行车储物柜或厕所——不,它足够安全——只要你不让任何人拿到你的钥匙(或偷饼干)就可以了。但是如果这个密钥允许用户进入银行金库——这是一个很大的安全问题,因为进入金库不仅应该依赖于拥有有效的密钥,还应该依赖于其他类型的人员验证,例如指纹或眼睛扫描仪。

因此,在不了解应用程序上下文的情况下,很难回答您的问题。我希望我能正确地向你解释

于 2019-07-30T08:41:48.413 回答