[发明专利]一种防御跨站请求伪造CSRF攻击的方法、系统和装置有效
申请号: | 201210061000.3 | 申请日: | 2012-03-09 |
公开(公告)号: | CN103312666A | 公开(公告)日: | 2013-09-18 |
发明(设计)人: | 操龙敏;龙丁奋;郭学亨;朱磊 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 张玉波;宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防御 请求 伪造 csrf 攻击 方法 系统 装置 | ||
1.一种防御跨站请求伪造(CSRF)攻击的方法,其特征在于,该方法包括:
网站服务器向登录成功的客户端发送会话cookie,客户端接收所述会话cookie,识别所述网站服务器的完整域名,保存所述会话cookie与所述网站服务器的完整域名之间的对应关系,所述会话cookie包括随机口令(token)值;
客户端在向目标网站服务器提交http请求时,根据请求该客户端发送该http请求的源网站服务器的完整域名,读取与该源网站服务器的完整域名对应的会话cookie,并读取该会话cookie中携带的token值,将该会话cookie携带在Http请求的包头中,将该token值携带在http请求的包体里,向该目标网站服务器提交该http请求;
目标网站服务器接收客户端发来的Http请求,从所述http请求的包头中读取会话cookie,从所述Http请求的包体里读取token值,从所述会话cookie中读取token值,将从所述会话cookie中读取的token值和从所述http请求包体中读取的token值进行比较,如果一致,则根据所述Http请求进行业务处理,如果不一致、或无法从所述cookie中读取token值,则不进行所述业务处理。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:在从所述会话cookie中读取的token值和从所述http请求中读取的token值不一致时,所述目标网站服务器向所述客户端反馈token值错误的提醒消息。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:所述token的字符串长度大于预定阈值。
4.根据权利要求1所述的方法,其特征在于,该方法还包括,客户端在向目标网站服务器提交http请求时,接收用户输入的验证码,将所述验证码携带在所述http请求中。
5.一种防御跨站请求伪造(CSRF)攻击的系统,其特征在于,该系统包括客户端和网站服务器;
所述客户端,用于接收网站服务器发送的会话cookie,识别所述网站服务器的完整域名,保存所述会话cookie与所述网站服务器的完整域名之间的对应关系,所述会话cookie包括随机口令(token)值,在向目标网站服务器提交http请求时,根据请求该客户端发送该http请求的源网站服务器的完整域名,读取与该源网站服务器的完整域名对应的会话cookie,并读取该会话cookie中携带的token值,将会话cookie携带在http请求的包头中,将token值携带在http请求的包体里,向该目标网站服务器提交该http请求;
所述网站服务器,用于向登录成功的客户端发送会话cookie,接收客户端发来的Http请求,从http请求的包头中读取会话cookie,从Http请求的包体里读取token值,从所述会话cookie中读取token值,将从所述会话cookie中读取的token值和从所述http请求包体中读取的token值进行比较,如果一致,则根据所述Http请求进行业务处理,如果不一致、或无法从所述cookie中读取token值,则不进行所述业务处理。
6.根据权利要求5所述的系统,其特征在于,所述客户端包括浏览器。
7.一种防御跨站请求伪造(CSRF)攻击的客户端,其特征在于,所述客户端包括接收模块、识别模块、保存模块、http请求构造模块和发送模块;
所述接收模块,用于接收网站服务器发送的会话cookie,所述会话cookie包括随机口令(token)值;
所述识别模块,用于识别所述网站服务器的完整域名;
所述保存模块,用于保存所述会话cookie与所述网站服务器的完整域名之间的对应关系;
所述http请求构造模块,用于根据请求该客户端发送http请求的源网站服务器的完整域名,读取与该源网站服务器的完整域名对应的会话cookie,并读取该会话cookie中携带的token值,将会话cookie携带在http请求的包头中,将token值携带在http请求的包体里;
所述发送模块,用于向网站提交所述http请求。
8.一种防御跨站请求伪造(CSRF)攻击的服务器,其特征在于,该服务器包括发送模块、接收模块、安全模块和业务处理模块;
所述发送模块,用于向登录成功的客户端发送会话cookie,该会话cookie中包括随机口令(token)值;
所述接收模块,用于接收客户端发送的Http请求;
所述安全模块,用于从http请求的包头中读取会话cookie,从Http请求的包体里读取token值,从所述会话cookie中读取token值,将从所述会话cookie中读取的token值和从所述http请求包体中读取的token值进行比较,判断从所述会话cookie中读取的token值与从所述http请求中读取的token值是否一致;
所述业务处理模块,用于在从所述会话cookie中读取的token值与从所述http请求包体中读取的token值一致时,根据所述http请求进行业务处理,在从所述会话cookie中读取的token值与从所述http请求包体中读取的token值不一致、或无法从所述会话cookie中读取token值时,不进行所述业务处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210061000.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:集群系统
- 下一篇:一种细浸染体铜铅锌硫复杂多金属矿的选矿方法