一种防止跨站请求伪造攻击的方法及系统的制作方法

文档序号:9380262阅读:699来源:国知局
一种防止跨站请求伪造攻击的方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络安全,主要是浏览器安全与web应用安全,尤其涉及一种防止跨站请求伪造攻击的方法及系统。
【背景技术】
[0002]现有技术中的网站服务器与用户客户端之间主要通过HTTP (HyperText TransferProtocol,超文本传输协议)协议进行通信。根据HTTP协议的定义,该协议是一个无状态的协议,即服务器与客户端的每一次通信事物都是彼此独立的,服务器与客户端的下一次通信时,并不知道前一次通信的信息。但在实际应用中,又需要服务器与客户端之间连续、有状态地相互通信,因此cookie技术作为一种最常见的解决方案被引入了进来。
[0003]为了保持服务器与客户端之间有状态的连接,需要服务器有能力识别来自不同客户端的请求,因此需要在服务器或客户端保存用户连接的信息以便服务器识别。而即使选择在服务器保存用户连接信息,也需要在客户端保存一段短小的标识文本。因此,HTTP协议规定了保存在客户端的一段用于说明用户连接信息或标识的文本,被称为cookie。当用户第一次登录网站时,服务器会通过响应报头的set-cookie字段在浏览器建立该服务器网域的cookie。之后,在设置cookie到cookie过期的时间内,从该浏览器发送到该网域的所有请求都会被浏览器自动地在报头的cookie字段中加入该用户在该网域的cookie。这样当服务器收到一个带有cookie信息的请求时,服务器便可以通过该信息识别用户。
[0004]由于cookie是服务器用于识别用户的关键信息,因此cookie也成为了多种网络攻击的目标。与跨站脚本攻击等直接盗取用户cookie的攻击方式不同,跨站请求伪造(cross site request forgery, CSRF)攻击并不直接获取用户cookie,而是通过浏览器自动添加cookie的机制,借用用户的cookie达到攻击的目的。在用户不知情的情况下,CSRF攻击者伪造了一条用户的请求,通过一些手段使该请求在用户的浏览器上发出。由于该请求携带了用户的cookie,因此会成功地被服务器执行。跨站请求伪造攻击可以让攻击者获取或修改其他用户的账户信息,因此主要破坏了信息安全的保密性与完整性。
[0005]现有技术中该项缺陷是由对用户请求鉴伪的职责规定不当导致的,并且现有技术只让客户端或只让服务器进行请求真伪的判断,而客户端并不能获知一个从某页面到另一页面的请求是否是服务器期望的,服务器也不能获知来自客户端的请求是在怎样的上下文下被生成的,不能有效地防止CSRF攻击。
[0006]综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。

【发明内容】

[0007]针对上述的缺陷,本发明的目的在于提供一种防止跨站请求伪造攻击的方法及系统,其通过服务端提供的策略文件来判断客户端请求是否伪造,确保了不被策略文件允许的请求不会携带用户的cookie,保证了客户端的网络安全,解决了现有技术中服务端不了解客户端请求发出的上下文以及客户端不了解服务端希望接受哪些请求的问题。
[0008]为了实现上述目的,本发明提供一种防止跨站请求伪造攻击的方法,所述方法包括如下步骤:
[0009]客户端在接收到浏览器的页面消息时,生成HTTP请求;
[0010]所述客户端根据从服务端获取的策略文件对所述HTTP请求中的cookie信息进行过滤处理;
[0011]所述客户端将过滤处理后的所述HTTP请求发送至所述服务端。
[0012]根据本发明的方法,所述客户端根据从服务端获取的策略文件对所述HTTP请求中的cookie信息进行过滤处理的步骤包括:
[0013]所述客户端在本地文件系统中查找所述HTTP请求的关联策略文件;
[0014]所述客户端未查找到所述关联策略文件或者所述本地文件系统中的所述关联策略文件的时间戳比所述服务端中的所述关联策略文件的最新时间戳小,从所述服务端更新所述策略文件。
[0015]根据本发明的方法,所述客户端在本地文件系统中查找所述HTTP请求的关联策略文件的步骤之后包括:
[0016]所述客户端从所述服务端获取所述关联策略文件的最新时间戳;
[0017]所述客户端中将本地文件系统中的所述关联策略文件的时间戳与从所述服务端获取的所述关联策略文件的最新时间戳进行对比。
[0018]根据本发明的方法,所述客户端根据从服务端获取的策略文件对所述HTTP请求中的cookie信息进行过滤处理的步骤还包括:
[0019]所述客户端根据所述HTTP请求中的来源地址信息、目标地址信息作为关键字在策略文件中查找处理结果信息;
[0020]并根据所述查找到的处理结果信息,决定是否删除或修改所述HTTP请求中的cookie 信息。
[0021 ] 根据本发明的方法,所述客户端根据所述HTTP请求中的来源地址信息、目标地址信息作为关键字在策略文件中查找处理结果信息的步骤包括:
[0022]所述客户端根据所述HTTP请求中的目标地址信息在所述策略文件中查找对应的策略条目,所述策略文件包括多个由来源地址信息、目标地址信息以及处理结果信息组成的策略条目;
[0023]所述客户端判断所述HTTP请求中的来源地址信息与查找到的策略条目中的来源地址信息是否匹配;
[0024]若匹配则所述查找到的策略条目中的处理结果信息为所需的处理方式。
[0025]本发明相应提供一种防止跨站请求伪造攻击的系统,所述系统包括客户端以及服务端,所述客户端包括:
[0026]请求生成模块,用于在接收到浏览器的页面消息时,生成HTTP请求;
[0027]处理模块,用于根据从所述服务端获取的策略文件对所述HTTP请求中的cookie信息进行过滤处理;
[0028]请求发送模块,用于将过滤处理后的所述HTTP请求发送至所述服务端。
[0029]根据本发明的系统,所述处理模块还包括策略文件更新单元,
[0030]所述策略文件更新单元用于在本地文件系统中查找所述HTTP请求的关联策略文件,以及用于在未查找到所述关联策略文件或者所述本地文件系统中的所述关联策略文件的时间戳比所述服务端中的所述关联策略文件的最新时间戳小,从所述服务端更新所述策略文件。
[0031]根据本发明的系统,所述策略文件更新单元包括:
[0032]时间戳获取子单元,用于从所述服务端获取所述关联策略文件的最新时间戳;
[0033]时间戳对比子单元,用于将本地文件系统中的所述关联策略文件的时间戳与从所述服务端获取的所述关联策略文件的最新时间戳进行对比。
[0034]根据本发明的系统,所述处理模块还包括Cookie信息过滤处理单元,
[0035]所述Cookie信息过滤处理单元用于根据所述HTTP请求中的来源地址信息、目标地址信息
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1