两者分别定义了什么?
会话固定被描述为:
会话修复是一种攻击,允许攻击者劫持有效的用户会话。该攻击探讨了Web应用程序管理会话ID的方式的限制,更具体地说是易受攻击的Web应用程序。
来源:OWASP
这似乎与CSRF利用的内容相当接近。这两者之间的区别是什么,或Session fixation
只是来自CSRF的同义词或分支?
还要提一下,我提供的OWASP链接的关键术语几乎与CSRF中提到的那些相同
答案 0 :(得分:4)
不,它不是同义词。会话固定和CSRF是两种不同的攻击。</ p>
会话固定是一类会话劫持。攻击者试图窃取,猜测或修复会话ID,然后使用它并登录目标网站作为受害者。它可以通过多种方式完成。基本保护是如果app使用httpOnly标志,不会在url中传输会话ID(session.use_trans_sid = 0,session.use_only_cookies = 1)并处理XSS漏洞。
CSRF 是另一种攻击。攻击者不希望受害者会话ID,而是让受害者在受害者正确登录的服务器上执行操作。因此,受害者本身会执行恶意操作但不知道它。怎么样?受害者在某个地方加载一个包含恶意链接的页面(即img src)或目标网站包含XSS漏洞,这是加载外部恶意javascript和发出ajax请求的好点。
标准保护是CSRF令牌。它是每个敏感请求中包含的另一个令牌(会话ID的下一个)。攻击者不应该知道特定用户的当前CSRF令牌,也不能准备恶意链接或ajax请求。 CSRF令牌对于每个会话应该是唯一的。敏感请求是表单提交,删除/设置某些内容(权限等)。所以应用程序不必绝对保护每个请求。在URL中传输CSRF令牌也不是一个好主意。