跨站请求伪造(CSRF)
跨站请求伪造(CSRF)是一种利用Web应用漏洞的网络攻击方法。CSRF一词也可直接指该漏洞本身。
当Web应用存在CSRF漏洞时,攻击者可以诱骗合法用户在未明确同意的情况下,在存在漏洞的网站上执行非预期操作。潜在影响包括修改用户数据、意外删除或更改数据、执行欺诈性交易,或在目标应用中发起未经授权的操作。
典型的CSRF攻击过程如下:
- 攻击者诱使目标应用的用户访问专为此次攻击构造的恶意网页。
- 受害者访问此恶意页面后,攻击者会向存在漏洞的应用程序触发未经授权的POST请求(在某些情况下,仅访问该网页就可能触发恶意请求,无需用户进一步交互)。
- 目标应用程序处理未经授权的POST请求,并代表已通过身份验证的用户执行非预期操作。
为缓解CSRF攻击,应用程序必须验证传入POST请求的合法性。一种广泛采用的方法是使用称为“nonce”值(“仅使用一次的数字”)的令牌。nonce是一个随机生成的唯一标识符,应用程序在响应用户请求时将其嵌入合法的HTTP表单中。收到后续提交的POST请求后,应用程序会验证nonce,以确认请求的真实性和完整性。
在响应合法GET请求并发送表单时,服务器会在表单中加入一个唯一且不可预测的nonce值。收到客户端相应的POST请求后,应用程序会检查该nonce,以确认请求真实且合法。
此外,F5 BIG-IP Application Security Manager提供的Web应用防火墙(WAF)等安全解决方案能够有效识别并阻止恶意请求,防止CSRF漏洞遭到利用。

