CSRF(跨站请求伪造)的原理和防御
发布网友
发布时间:2024-10-23 19:06
我来回答
共1个回答
热心网友
时间:2024-10-23 19:24
CSRF基本概念
CSRF,即跨站请求伪造,利用用户未失效的身份认证信息,诱使用户点击恶意链接或访问含攻击代码页面,以用户身份向服务器发送请求,非法操作如转账、改密码等。
HTTP协议无记忆性
HTTP为无状态协议,服务器不保存与客户交互状态。用户短时间内向同一服务器发送相同请求,服务器仍会响应,不知已响应过。
用户在网站A登录后,网站B请求验证,HTTP不识用户已登录状态。
引入Cookie机制
网站为用户分配Cookie,标记身份。浏览器接数据包后,存Cookie值,发往该网站时自动填充。
浏览器填充Cookie,网站误以为管理员操作。
防御添加HTTP Referer
Referer字段标明请求来源。信任站点识别恶意站点发起请求,*Referer字段,确保敏感操作在本站点执行。
*Referer值,如转账操作。
anti-csrf-token
通过请求中加入随机Token,服务器验证Token,确保请求合法,有效防止攻击。
Token加入GET或POST请求中。
Token制作
网站应用添加Token到数据包中,浏览器不识Token,仅识别Cookie。
注意Token泄露风险,区分内链和外链,仅在内链添加Token。