【问题标题】:Session Fixation VS XSRF/CSRF会话固定 VS XSRF/CSRF
【发布时间】:2015-05-21 08:03:25
【问题描述】:

两者分别由什么定义?

会话固定描述为:

会话固定是一种允许攻击者劫持有效用户会话的攻击。该攻击探索了 Web 应用程序管理会话 ID 方式的限制,更具体地说是易受攻击的 Web 应用程序。`

来源:OWASP

这似乎与 CSRF 所利用的非常接近。两者的区别是什么,或者Session fixation 只是一个同义词或来自 CSRF 的一个分支?

还想提一下,我提供的 OWASP 链接中的关键术语与 CSRF 中提到的几乎相同

【问题讨论】:

    标签: php security session owasp


    【解决方案1】:

    不,它不是同义词。 Session Fixation 和 CSRF 是两种不同的攻击。

    会话固定是会话劫持的一类。攻击者试图窃取、猜测或修复会话 ID,然后使用它并以受害者身份登录目标网站。它可以通过多种方式完成。基本保护是如果应用程序使用 httpOnly 标志,不在 url 中传输会话 id (session.use_trans_sid=0, session.use_only_cookies=1) 并处理 XSS 漏洞。

    CSRF 是另一种攻击。攻击者不想要受害者会话 ID,而是让受害者在受害者正确登录的服务器上执行操作。因此受害者自己执行恶意操作但不知道它。如何?受害者在某处加载的页面包含 html 中的恶意链接(即 img src)或目标网站包含 XSS 漏洞,这是加载外部恶意 javascript 和发出 ajax 请求的好点。

    标准保护是 CSRF 令牌。它是包含在每个敏感请求中的另一个令牌(会话 ID 的下一个)。攻击者不应该知道特定用户当前的 CSRF 令牌,并且不能准备恶意链接或 ajax 请求。 CSRF 令牌对于每个会话应该是唯一的。敏感请求是表单提交、删除/设置某些东西(权限等)。所以应用程序不必绝对保护每个请求。在 URL 中传输 CSRF 令牌也不是一个好主意。

    Look at OWASP for more info to CSRF.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 2016-08-28
      • 2013-11-19
      相关资源
      最近更新 更多