CSRF保护

6

有关于预防CSRF攻击的文章非常多。

但是我就是不明白:为什么我不能在目标页面中解析csrf令牌,然后将其与我的伪造请求一起提交?

4个回答

1

如果您能够将脚本代码注入到目标页面(XSS),那么是的,您可以这样做,从而使CSRF预防措施失效。

CSRF令牌必须存储在最终用户接收到的页面中(否则他也不会知道它)。

事实上,在安全评估中,XSS通常不是评估其自身的损害潜力,而是评估其在此类攻击中的使用情况。


1
CSRF攻击是盲目的。它们进行会话劫持,攻击者没有直接控制权,除非他可以通过XSS漏洞提取令牌。通常可以使用会话范围的令牌。每个请求旋转令牌可能过于繁琐,并且可能导致误报警报。我更喜欢使用每个资源的令牌和主会话令牌。

0

由于 CSRF 令牌的值事先未知。


0

CSRF令牌应该对于每个用户和每个请求都是完全不同的令牌,这样攻击者就无法猜测。

对于php、.net和javascript,请查看OWASP CSRFGuard Project - 如果您正在使用java和jsf 2.x,则已经安全防范了CSRF(只要您使用POST而不是GET - 对于此,您将需要等待JSF 2.2)。否则,如果您没有使用JSF,则来自OWASP ESAPI的HTTPUtillities Interface也可能非常有帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接