1,csrf(cross-site request forgery),跨站点伪造请求;
是 受害者用户 登录访问 可信任网站A,在没有退出的情况下,又访问量 不可信任恶意网站B,网站B盗用用户身份,发出恶意请求;
站外本质:提交服务器外部数据问题;
站内本质:服务器内部代码 接收数据漏洞,如滥用$_REQUEST等变量,是提交的get页面
2,csrf攻击分类
a,站内 和 站外
站外是 有人 伪造 不是用户发出的请求表单,引诱用户在使用该网页发出恶意请求
站内 一般基于滥用 $request来的
3,csrf 漏洞检测
a.抓取请求包,去掉 referer字段重新提交,提交还有效,基本确定有csrf漏洞;
4,防止csrf攻击:服务端 ,客户端,安全设备
服务端
4.1 验证 http referer字段
referer字段是显示 来源网站链接,如果referer字段链接是 合法用户网站通过验证,不是,则不通过;
4.2 在请求地址中添加 token并验证
关键点:请求中放入攻击者不能伪造信息,并且不放在cookie里进行验证;
在HTTP请求 以参数形式 加入 token ,并在服务器端验证token;token 不正确可视为scrf攻击。
4.3在HTTP头自定义属性并验证
token以参数形式设置于http请求中
用户端的防御
尽量不要点击网络论坛,聊天室,即使通讯或链接图片;
在退出情况下,点击未知位置链接和图片
安全设备的防御
CSRF攻击的本质是攻击者伪造了合法的身份,对系统进行访问。如果能够识别出访问者的伪造身份,也就能识别CSRF攻击。
有些厂家能够基于 硬件侧面对HTTP请求中 referer字段内容进行检测识别csrf。
H3C公司的IPS产品采用了特殊技术,支持对部分常用系统的CSRF漏洞攻击进行检测和阻断。