我们的一位客户对我们的应用程序进行了渗透测试,并在使用Cookie时报告了丢失的标记。
设置Cookie时,我们应始终使用httpOnly
和secure
标记。
经过一些测试后,我意识到cookie在设置时实际上使用了这个标志,但有一个例外:退出。
注销时,某些Cookie设置了过去的截止日期,以便删除cookie
,secure
和httpOnly
未使用。
这是否代表安全风险?设置过期的cookie时设置这些标志是否有意义?
答案 0 :(得分:1)
不,假设您的应用中没有漏洞,则该标志在注销时无关紧要。
但是,您应该执行笔测试器所说的内容,因为如果未设置标记,您的应用程序中可能存在其他安全漏洞,可以使用此cookie进行利用。换句话说,如果您的应用程序是安全的,那么cookie无关紧要,但它可能很重要,因为无法保证您的应用程序是安全的。
一个例子是没有正确终止或关闭会话的应用程序。注销cookie在没有标志的情况下发送到客户端,因此以某种方式受到损害,例如MitM或Wire Sniffing。攻击者将cookie提交回应用程序,以及旨在利用漏洞的任何其他任意数据,从而触发漏洞并通过复活前一个或接收新的一个来获得实时会话(如着名的NULL会话攻击)
这是一个安全漏洞的经典案例,它本身是无用的,但添加了一个可用于获取折衷的链的链接。