[发明专利]CSRF攻击防范方法、网站服务器及浏览器在审
申请号: | 201410770781.2 | 申请日: | 2014-12-12 |
公开(公告)号: | CN105743869A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 颜文龙 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 开曼群岛*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | csrf 攻击 防范 方法 网站 服务器 浏览器 | ||
技术领域
本发明涉及网络安全技术领域,尤其涉及CSRF攻击防范方法、网站服务器及浏览器。
背景技术
CSRF(Cross-siteRequestForgery,跨站请求伪造)是一种挟制终端用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。攻击者通过例如电子邮件或者聊天软件发送的伪造链接,使Web应用程序的用户去执行攻击者选择的操作,例如,如果用户登录了网络银行,还没有退出网络银行系统时又登录了其他论坛,如果攻击者在论坛中精心构造了一个恶意链接,并诱使该用户点击了该恶意链接,那么该用户在网络银行帐户中的资金就有可能被转移到攻击者指定的帐户中。这是因为,网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问这个网站会带上这个cookie,如果这期间用户点击了恶意链接,浏览器通过恶意链接被人控制着请求了该网站的URL,可能就会执行一些用户不想做的功能,例如转账和修改个人资料。当CSRF针对普通用户发动攻击时,将对用户的数据和操作指令构成严重的威胁;当受攻击的终端用户具有管理员帐户的时候,CSRF攻击将危及整个Web应用程序。
防止CSRF攻击最直接的方式是及时退出网站登录和删除cookie,但当用户需要浏览多个网站时,不停登录和退出登录网站,或者打开和关闭浏览器,将使网络浏览过程变得很繁琐,而且由于很多用户并不具备网络安全知识或者意识,或者为了网站登录的方便,通常不会频繁地删除cookie,不能有效地防止CSRF攻击。另一种防止CSRF攻击的方式,是使用验证码,即浏览器向网站提交响应请求时要求用户在表单中填写验证码,例如图片上的随机字符串,这种方式虽然安全,但即时性和易用性差。又一种防止CSRF攻击的方式,是在响应浏览器请求中URL(UniformResoureLocator,统一资源定位器)对应的服务器端代码中调用防御逻辑,阻止恶意请求,但这种方式中,安全逻辑与业务逻辑交织在一起,使得代码冗长混乱,且容易遗漏安全逻辑,从而留下安全漏洞,防范CSRF攻击的有效性差。
发明内容
为克服相关技术中CSRF攻击防范易用性和有效性差的问题,本申请提供一种CSRF攻击防范方法。
根据本申请实施例的第一方面,在网站服务器一端,提供一种CSRF攻击防范方法,包括:
网站服务器接收到浏览器的页面请求后,生成第一令牌,并保存所述第一令牌;
向浏览器返回加入所述第一令牌的页面;
接收浏览器提交的响应请求,并读取所述响应请求中的第二令牌;
如果所述第一令牌和所述第二令牌一致,则所述响应请求验证通过。
可选的,所述第一令牌为随机字符串。
根据本申请实施例的第二方面,在浏览器一端,提供一种CSRF攻击防范方法,包括:
浏览器接收网站服务器返回的包含第一令牌的页面,所述第一令牌由网站服务器接收到浏览器的页面请求后生成;
根据所述第一令牌得到第二令牌,在页面的每个表单中植入包含所述第二令牌的隐藏域。
将隐藏域的所述第二令牌加入到向网站服务器提交的响应请求中,网站服务器接收到所述响应请求后,比较所述第一令牌和所述第二令牌,如果所述第一令牌和所述第二令牌一致,则所述响应请求验证通过。
可选的,所述的CSRF攻击防范方法中,浏览器基于JavaScript框架修改页面文档对象模型,在文档对象模型的每个表单中植入包含所述第二令牌的隐藏域。
可选的,所述的CSRF攻击防范方法中,将隐藏域的所述第二令牌加入到所述响应请求的请求体中,或者将隐藏域的所述第二令牌追加到所述响应请求的查询字符串中。
相应于本申请实施例的第一方面,在本申请实施例的第三方面,提供一种网站服务器,包括:
第一令牌生成单元,用于在网站服务器接收到浏览器的页面请求后,生成第一令牌,并保存所述第一令牌;
页面返回单元,用于向浏览器返回加入所述第一令牌的页面;
第二令牌接收单元,用于接收浏览器提交的响应请求,并读取所述响应请求中的第二令牌;
验证单元,用于判断所述第一令牌和所述第二令牌是否一致,如果所述第一令牌和所述第二令牌一致,则所述响应请求验证通过。
可选的,所述页面返回单元,包括:
令牌加入子单元,用于在根据所述页面请求向浏览器返回的页面中加入所述第一令牌;
返回子单元,用于向浏览器返回所述页面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410770781.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:权限信息生成方法和装置
- 下一篇:一种网络权限联动控制方法和设备