CSRF攻击
CSRF(Cross Site Request Forgery),跨站请求伪造, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
原理
一个简易的假设如下,B 站伪造 A 站请求。
- 用户使用浏览器访问 A 网站并登录;
- 登录成功后,网站 A 产生 Cookie 信息并返回给浏览器;
- 此时(A 站产生的 Cookie 存在时)访问 B 网站;
- B 网站存在恶意代码(
<img src="A 站支付请求" />
); - CSRF 成功(通过 B 站发送 A 站请求达到某些目的)。
条件
- 未进行请求来源校验;
- Token 未进行动态化处理。
防御
- Referer 检测:请求头中 Referer(用来记录请求来源地址) 值检测。
- Token 校验(每次请求 Token 都在变,黑客无法获取可用 Token)
- 请求参数中添加随机数(随机数可以存取在 session 中)
- 请求头中添加自定义属性
- jwt(Json Web Token)
原文作者: ShanYi Hui
原文链接: http://huishanyi.club/2020/07/15/Web安全/CSRF攻击/
版权声明: 转载请注明出处(必须保留作者署名及链接)