专利名称:防御会话劫持攻击的方法和防火墙的制作方法
技术领域:
本发明涉及到网络通信技术领域,特别涉及到防御会话劫持攻击的方法和防火
背景技术:
HTTP协议是无状态的,其本身没有将用户提出的各种请求/响应联系起来的机制,每一对请求/响应都是独立的事务。实现有状态的HTTP,WEB应用程序需要与用户动态交互,维护与合法客户端的交互状态数据,这种动态交互过程就是会话。首先把这些状态数据传送到合法客户端存储,然后随合法客户端提交的请求返回进行验证。这种状态保存机制前提需要合法客户端是可信的,能够保证传送的状态数据的完整性和机密性。但在实际的应用中,攻击者可以利用会话劫持漏洞窃取状态信息,达到冒充其他可信用户的非法访问。当用户在登录认证过程中,输入用户名与密码通过验证后,应用程序向合法客户端返回一状态信息,该状态信息随用户的下次请求返回,应用程序根据这段信息来验证用户身份并返回正确的响应页面,如果这段信息被攻击者通过某种方式劫持,攻击者就可以绕过授权,冒充其他用户进行非法访问,劫持这段信息的过程就是会话劫持。会话劫持攻击有10多种方法,常见有XSS (又称为CSS,Cross Site Script,跨站脚本攻击)会话劫持、CSRF(Cross-site request forgery,跨站请求伪造)、固定会话攻击、会话令牌猜解、会话令牌蛮力、日志泄露令牌等等,目前应用层防火墙的实现主要是针对其中某一种方法进行防御,如XSS基于特征、CSRF基于令牌,但是,基于特征进行防御属于被动防御,无法做到事前防御,且容易出现误报和漏报;基于令牌的防御存在单一性和时间依赖性缺陷。此外,只防御其中某种攻击,通过其他攻击还是 可以劫持会话,如果发现新的会话攻击也无法防御。
发明内容
本发明的主要目的为提供一种全面、有效的防御会话劫持攻击的方法和防火墙。本发明提出一种防御会话劫持攻击的方法,包括步骤接收合法客户端发送的第一访问请求,并将所述第一访问请求发送至服务器;接收所述服务器返回的第一响应,所述第一响应中包括第一认证令牌;根据所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值,将所述第一认证令牌和第一序列值重组为第二认证令牌;将所述第一响应中的第一认证令牌替换为所述第二认证令牌,并将包含所述第二认证令牌的所述第一响应发送至所述合法客户端。优选地,所述将包含所述第二认证令牌的所述第一响应发送至所述合法客户端的步骤之后还包括接收当前客户端发送的第二访问请求,所述第二访问请求中包括第二认证令牌;从所述第二认证令牌中分离出所述第一认证令牌和第一序列值;根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值;
当所述第二序列值与所述第一序列值相同时,确定当前客户端为所述合法客户端;将所述第二访问请求中的第二认证令牌替换为所述第一认证令牌;将包含所述第一认证令牌的所述第二访问请求发送至所述服务器,供所述服务器验证所述第一认证令牌和响应所述第二访问请求。优选地,所述根据合法客户端的网络地址和所述合法客户端的标识码,生成第一序列值的步骤具体包括采用随机串和散列算法,将所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值。优选地,所述根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值的步骤具体包括采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序 列值,作为第二序列值。优选地,所述接收合法客户端发送的第一访问请求的步骤之前还包括在所述服务器中查找一个依赖令牌访问的页面;在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie数据;获取各个所述Cookie数据和Set-Cookie数据的键值对;根据各个所述键值对及其组合,分别生成对应的第三访问请求;分别采用各个所述第三访问请求,访问所述页面;接收所述页面返回的对应于各个所述第三访问请求的第三响应;当所述第三响应有效时,有效的所述第三响应对应的键值对为所述第一认证令牌存放的位置。本发明还提出一种防御会话劫持攻击的防火墙,包括收发模块,用于接收合法客户端发送的第一访问请求,并将所述第一访问请求发送至服务器;接收所述服务器返回的第一响应,所述第一响应中包括第一认证令牌;重组模块,用于根据所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值,将所述第一认证令牌和第一序列值重组为第二认证令牌;替换模块,用于将所述第一响应中的第一认证令牌替换为所述第二认证令牌;所述收发模块还用于,将包含所述第二认证令牌的所述第一响应发送至所述合法客户端。优选地,所述防御会话劫持攻击的防火墙,还包括判断模块;所述收发模块还用于,接收当前客户端发送的第二访问请求,所述第二访问请求中包括第二认证令牌;所述重组模块还用于,从所述第二认证令牌中分离出所述第一认证令牌和第一序列值;根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值;所述判断模块用于,当所述第二序列值与所述第一序列值相同时,确定当前客户端为所述合法客户端;所述替换模块还用于,将所述第二访问请求中的第二认证令牌替换为所述第一认证令牌;所述收发模块还用于,将包含所述第一认证令牌的所述第二访问请求发送至所述服务器,供所述服务器验证所述第一认证令牌和响应所述第二访问请求。优选地,所述重组模块具体用于采用随机串和散列算法,将所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值。优选地,所述重组模块具体还用于采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。优选地,所述防御会话劫持攻击的防火墙,还包括查找模块;所述查找模块用于,在所述服务器中查找一个依赖令牌访问的页面;所述重组模块具体还用于,在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie数据;获取各个所述Cookie数据和Set-Cookie数据的键值对;根据各个所述键值对及其组合,分别生成对应的第三访问请求;所述收发模块还用于,分别采用各个所述第三访问请求,访问所述页面;接收所述页面返回的对应于各个所述第三访问请求的第三响应;所述判断模块用于,当所述第三响应有效时,有效的所述第三响应对应的键值对为所述第一认证令牌存放的位置。本发明采用了客户端身份验证机制,避免非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击`,即使更换了令牌,也不会产生误报或漏报,防御性更加全
面、可靠。
图1为本发明防御会话劫持攻击的方法的第一实施例的流程图;图2为本发明防御会话劫持攻击的方法的第二实施例的流程图;图3为本发明防御会话劫持攻击的方法的第三实施例的流程图;图4为本发明防御会话劫持攻击的防火墙的第一实施例的结构示意图;图5为本发明防御会话劫持攻击的防火墙的第二实施例的结构示意图;图6为本发明防御会话劫持攻击的防火墙的第三实施例的结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,图1为本发明防御会话劫持攻击的方法的第一实施例的流程图。本实施例提到的防御会话劫持攻击的方法,包括步骤步骤S10,接收合法客户端发送的第一访问请求,并将第一访问请求发送至服务器;在合法客户端首次访问服务器时,合法客户端发送的访问请求(即步骤SlO中的第一访问请求)中并未包含令牌,此时,防火墙直接对该访问请求放行。
步骤S20,接收服务器返回的第一响应,第一响应中包括第一认证令牌;服务器在接收到访问请求后,对访问请求应答,返回包含认证令牌的响应(即步骤S20中的包括第一认证令牌的第一响应)。步骤S30,根据合法客户端的网络地址和合法客户端的标识码生成第一序列值,将第一认证令牌和第一序列值重组为第二认证令牌;本步骤为对认证令牌重组的步骤,其中,合法客户端的标识码可以是合法客户端的物理地址或其他可以收集的合法客户端信息。可采用随机串和散列算法,将合法客户端的网络地址和合法客户端的标识码生成第一序列值。步骤S40,将第一响应中的第一认证令牌替换为第二认证令牌,并将包含第二认证令牌的第一响应发送至合法客户端。防火墙将替换后的响应发送至合法客户端,合法客户端将响应中的第二认证令牌存储起来,以便在再次访问服务器时提供给服务器验证。由于此时第二认证令牌中包含有合法客户端的信息。因此,当有客户端发起访问服务器的请求时,只需将第二认证令牌中包含的合法客户端的信息与当前发起访问请求的客户端的信息进行比较,如果匹配,则说明当前发起访问请求的客户端是步骤S40中合法获得第二认证令牌的合法客户端;否则,当前发起访问请求的客户端为非法客户端,防火墙拒绝放行。本实施例采用了客户端身份验证机制,避免非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击,即使更换了令牌,也不会产生误报或漏报,防御性更加全
面、可靠。
如图2所示,图2为本发明防御会话劫持攻击的方法的第二实施例的流程图。本实施例以图1所示实施例为基础,在步骤S40之后还包括步骤S50,接收当前客户端发送的第二访问请求;发送第二访问请求的客户端可能是再次发起访问请求的合法客户端,也可能是盗取令牌后的非法客户端,因此,在第二访问请求中包括有第二认证令牌。步骤S60,从第二认证令牌中分离出第一认证令牌和第一序列值;将第二认证令牌分离为两部分,一部分与第一认证令牌相同,另一部分与第一序列值相同,作为验证客户端身份的标识。步骤S70,根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值;防火墙获取当前客户端的信息,生成第二序列值,用于验证当前客户端是否合法。第二序列值的生成方式与第一序列值生成方式相同。可米用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。步骤S80,当第二序列值与第一序列值相同时,确定当前客户端为合法客户端;如果当前客户端是再次发起访问请求的合法客户端,则当前客户端的信息与合法客户端的信息相同,生成的第二序列值也应与第一序列值相同。如果当前客户端是盗取令牌后的非法客户端,则非法客户端的信息与合法客户端的信息显然不同,此时生成的第二序列值也与第一序列值不同。通过该步骤即可判断出当前客户端是否为合法客户端。步骤S90,将第二访问请求中的第二认证令牌替换为第一认证令牌;防火墙在判定当前客户端为合法客户端后,将第二认证令牌还原为第一认证令牌,再发送至服务器进行验证。步骤S100,将包含第一认证令牌的第二访问请求发送至服务器,供服务器验证第一认证令牌和响应第二访问请求。本实施例由于采用了客户端信息进行身份验证,在当前客户端信息与合法客户端信息一致时,防火墙对当前客户端放行,避免了非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击,即使更换了令牌,也不会产生误报或漏报,防御性更加全面、可
O如图3所示,图3为本发明防御会话劫持攻击的方法的第三实施例的流程图。本实施例以图2所示实施例为基础,增加了查找令牌位置的步骤,在步骤SlO之前还包括步骤S101,在服务器中查找一个依赖令牌访问的页面;查找一个依赖令牌访问的页面即查找一个需要通过登录认证后才可以访问的页面。确定依赖令牌访问的页面可以通过提供一个给管理员的配置接口来确定,或者在防火墙部署前通过防火墙自带的扫描功能来确定,还可以通过实时检测登录的请求和响应来确定。本实施例采用实时检测登录的请求和响应的方法来确定。步骤S102,在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie 数据;防火墙刚刚部署后,在足够长的设定时间内,检测所有接收到的请求或响应报文,获取尽可能多的样本,例如,从请求报头Cookie或响应报头Set-Cookie中获取样本。步骤S103, 获取各个Cookie数据和Set-Cookie数据的键值对;步骤S104,根据各个键值对及其组合,分别生成对应的第三访问请求;获取的Cookie数据和Set-Cookie数据的部分或者全部键值对,并在生成第三访问请求报文时,把第三访问请求报文的Cookie消息报头修改为某一个键值对或其组合,即自定义的访问请求,直到遍历完所有键值对的组合。步骤S105,分别采用各个第三访问请求,访问页面;步骤S106,接收页面返回的对应于各个第三访问请求的第三响应;步骤S107,当第三响应有效时,有效的第三响应对应的键值对为第一认证令牌存放的位置;防火墙根据服务器的响应来判断发送的第三访问请求的Cookie中是否含有令牌,判定的标准可以是报文长度、关键字等可以区分的指标,如果报文长度与正确响应页面的长度相等,说明第三访问请求中的Cookie键值对或其组合含有令牌,并记录该键值对或其组合。当有效的位置为多个时,为了确定最精简的存放会话令牌的位置,可检索最简的一个。本实施例通过防火墙自学习功能确定令牌存放位置,可准确在访问请求中获得认证令牌,可避免令牌获取错误的情况发生。如图4所示,图4为本发明防御会话劫持攻击的防火墙的第一实施例的结构示意图。本实施例提到的防御会话劫持攻击的防火墙,包括收发模块10,用于接收合法客户端发送的第一访问请求,并将第一访问请求发送至服务器;接收服务器返回的第一响应,第一响应中包括第一认证令牌;重组模块20,用于根据合法客户端的网络地址和合法客户端的标识码生成第一序列值,将第一认证令牌和第一序列值重组为第二认证令牌;
替换模块30,用于将第一响应中的第一认证令牌替换为第二认证令牌;收发模块10还用于,将包含第二认证令牌的第一响应发送至合法客户端。重组模块20具体用于,采用随机串和散列算法,将合法客户端的网络地址和合法客户端的标识码生成第一序列值。本实施例中,在合法客户端首次访问服务器时,合法客户端发送的访问请求中并未包含令牌,此时,防火墙直接对该访问请求放行。服务器在接收到访问请求后,对访问请求应答,返回包含认证令牌的响应。合法客户端的标识码可以是合法客户端的物理地址或其他可以收集的合法客户端信息。可采用随机串和散列算法,将合法客户端的网络地址和合法客户端的标识码生成第一序列值。防火墙将替换后的响应发送至合法客户端,合法客户端将响应中的第二认证令牌存储起来,以便在再次访问服务器时提供给服务器验证。由于此时第二认证令牌中包含有合法客户端的信息。因此,当有客户端发起访问服务器的请求时,只需将第二认证令牌中包含的合法客户端的信息与当前发起访问请求的客户端的信息进行比较,如果匹配,则说明当前发起访问请求的客户端是合法获得第二认证令牌的合法客户端;否则,当前发起访问请求的客户端为非法客户端,防火墙拒绝放行。本实施例采用了客户端身份验证机制,避免非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击,即使更换了令牌,也不会产生误报或漏报,防御性更加全面、可靠。
·
如图5所示,图5为本发明防御会话劫持攻击的防火墙的第二实施例的结构示意图。本实施例以图4所示实施例为基础,增加了判断模块40。其中收发模块10还用于,接收当前客户端发送的第二访问请求,第二访问请求中包括第二认证令牌;重组模块20还用于,从第二认证令牌中分离出第一认证令牌和第一序列值;根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值;判断模块40用于,当第二序列值与第一序列值相同时,确定当前客户端为合法客户端;替换模块30还用于,将第二访问请求中的第二认证令牌替换为第一认证令牌;收发模块10还用于,将包含第一认证令牌的第二访问请求发送至服务器,供服务器验证第一认证令牌和响应第二访问请求。重组模块20具体还用于,采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。本实施例中,发送第二访问请求的客户端可能是再次发起访问请求的合法客户端,也可能是盗取令牌后的非法客户端,因此,在第二访问请求中包括有第二认证令牌。将第二认证令牌分离为两部分,一部分与第一认证令牌相同,另一部分与第一序列值相同,作为验证客户端身份的标识。防火墙获取当前客户端的信息,生成第二序列值,用于验证当前客户端是否合法。第二序列值的生成方式与第一序列值生成方式相同。可采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。如果当前客户端是再次发起访问请求的合法客户端,则当前客户端的信息与合法客户端的信息相同,生成的第二序列值也应与第一序列值相同。如果当前客户端是盗取令牌后的非法客户端,则非法客户端的信息与合法客户端的信息显然不同,此时生成的第二序列值也与第一序列值不同。通过该步骤即可判断出当前客户端是否为合法客户端。防火墙在判定当前客户端为合法客户端后,将第二认证令牌还原为第一认证令牌,再发送至服务器进行验证。本实施例由于采用了客户端信息进行身份验证,在当前客户端信息与合法客户端信息一致时,防火墙对当前客户端放行,避免了非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击,即使更换了令牌,也不会产生误报或漏报,防御性更加全面、可靠。如图6所示,图6为本发明防御会话劫持攻击的防火墙的第三实施例的结构示意图。本实施例以图5所示实施例为基础,增加了查找模块50。其中查找模块50用于,在服务器中查找一个依赖令牌访问的页面;重组模块20具体还用于,在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie数据;获取各个Cookie数据和Set-Cookie数据的键值对;根据各个键值对及其组合,分别生成对应的第三访问请求;收发模块10还用于,分别采用各个第三访问请求,访问页面;接收页面返回的对应于各个第三访问请求的第三响应;判断模块40用于,当第三响应有效时,有效的第三响应对应的键值对为第一认证令牌存放的位置。 本实施例中,查找一个依赖令牌访问的页面即查找一个需要通过登录认证后才可以访问的页面。确定依赖令牌访问的页面可以通过提供一个给管理员的配置接口来确定,或者在防火墙部署前通过防火墙自带的扫描功能来确定,还可以通过实时检测登录的请求和响应来确定。本实施例采用实时检测登录的请求和响应的方法来确定。防火墙刚刚部署后,在足够长的设定时间内,检测所有接收到的请求或响应报文,获取尽可能多的样本,例如,从请求报头Cookie或响应报头Set-Cookie中获取样本。获取的Cookie数据和Set-Cookie数据的部分或者全部键值对,并在生成第三访问请求报文时,把第三访问请求报文的Cookie消息报头修改为某一个键值对或其组合,即自定义的访问请求,直到遍历完所有键值对的组合。防火墙根据服务器的响应来判断发送的第三访问请求的Cookie中是否含有令牌,判定的标准可以是报文长度、关键字等可以区分的指标,如果报文长度与正确响应页面的长度相等,说明第三访问请求中的Cookie键值对或其组合含有令牌,并记录该键值对或其组合。当有效的位置为多个时,为了确定最精简的存放会话令牌的位置,可检索最简的一个。本实施例通过防火墙自学习功能确定令牌存放位置,可准确在访问请求中获得认证令牌,可避免令牌获取错误的情况发生。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种防御会话劫持攻击的方法,其特征在于,包括步骤 接收合法客户端发送的第一访问请求,并将所述第一访问请求发送至服务器; 接收所述服务器返回的第一响应,所述第一响应中包括第一认证令牌; 根据所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值,将所述第一认证令牌和第一序列值重组为第二认证令牌; 将所述第一响应中的第一认证令牌替换为所述第二认证令牌,并将包含所述第二认证令牌的所述第一响应发送至所述合法客户端。
2.根据权利要求1所述的防御会话劫持攻击的方法,其特征在于,所述将包含所述第二认证令牌的所述第一响应发送至所述合法客户端的步骤之后还包括 接收当前客户端发送的第二访问请求,所述第二访问请求中包括第二认证令牌; 从所述第二认证令牌中分离出所述第一认证令牌和第一序列值; 根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值; 当所述第二序列值与所述第一序列值相同时,确定当前客户端为所述合法客户端; 将所述第二访问请求中的第二认证令牌替换为所述第一认证令牌; 将包含所述第一认证令牌的所述第二访问请求发送至所述服务器,供所述服务器验证所述第一认证令牌和响应所述第二访问请求。
3.根据权利要求2所述的防御会话劫持攻击的方法,其特征在于,所述根据合法客户端的网络地址和所述合法客户端的标识码,生成第一序列值的步骤具体包括 采用随机串和散列算法,将所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值。
4.根据权利要求3所述的防御会话劫持攻击的方法,其特征在于,所述根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值的步骤具体包括 采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。
5.根据权利要求2至4任一项所述的防御会话劫持攻击的方法,其特征在于,所述接收合法客户端发送的第一访问请求的步骤之前还包括 在所述服务器中查找一个依赖令牌访问的页面; 在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie数据; 获取各个所述Cookie数据和Set-Cookie数据的键值对; 根据各个所述键值对及其组合,分别生成对应的第三访问请求; 分别采用各个所述第三访问请求,访问所述页面; 接收所述页面返回的对应于各个所述第三访问请求的第三响应; 当所述第三响应有效时,有效的所述第三响应对应的键值对为所述第一认证令牌存放的位置。
6.一种防御会话劫持攻击的防火墙,其特征在于,包括 收发模块,用于接收合法客户端发送的第一访问请求,并将所述第一访问请求发送至服务器;接收所述服务器返回的第一响应,所述第一响应中包括第一认证令牌; 重组模块,用于根据所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值,将所述第一认证令牌和第一序列值重组为第二认证令牌;替换模块,用于将所述第一响应中的第一认证令牌替换为所述第二认证令牌; 所述收发模块还用于,将包含所述第二认证令牌的所述第一响应发送至所述合法客户端。
7.根据权利要求6所述的防御会话劫持攻击的防火墙,其特征在于,还包括判断模块; 所述收发模块还用于,接收当前客户端发送的第二访问请求,所述第二访问请求中包括第二认证令牌; 所述重组模块还用于,从所述第二认证令牌中分离出所述第一认证令牌和第一序列值;根据当前客户端的网络地址和当前客户端的标识码,生成第二序列值; 所述判断模块用于,当所述第二序列值与所述第一序列值相同时,确定当前客户端为所述合法客户端; 所述替换模块还用于,将所述第二访问请求中的第二认证令牌替换为所述第一认证令牌; 所述收发模块还用于,将包含所述第一认证令牌的所述第二访问请求发送至所述服务器,供所述服务器验证所述第一认证令牌和响应所述第二访问请求。
8.根据权利要求7所述的防御会话劫持攻击的防火墙,其特征在于,所述重组模块具体用于 采用随机串和散列算法,将所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值。
9.根据权利要求8所述的防御会话劫持攻击的防火墙,其特征在于,所述重组模块具体还用于 采用与生成第一序列值时相同的随机串和散列算法,将当前客户端的网络地址和当前客户端的标识码生成第二序列值,作为第二序列值。
10.根据权利要求7至9任一项所述的防御会话劫持攻击的防火墙,其特征在于,还包括查找模块; 所述查找模块用于,在所述服务器中查找一个依赖令牌访问的页面; 所述重组模块具体还用于,在预设时间内获取多个访问请求中的Cookie数据和多个响应中的Set-Cookie数据;获取各个所述Cookie数据和Set-Cookie数据的键值对;根据各个所述键值对及其组合,分别生成对应的第三访问请求; 所述收发模块还用于,分别采用各个所述第三访问请求,访问所述页面;接收所述页面返回的对应于各个所述第三访问请求的第三响应; 所述判断模块用于,当所述第三响应有效时,有效的所述第三响应对应的键值对为所述第一认证令牌存放的位置。
全文摘要
本发明公开了一种防御会话劫持攻击的方法和防火墙,其方法包括接收合法客户端发送的第一访问请求,并将所述第一访问请求发送至服务器;接收所述服务器返回的第一响应,所述第一响应中包括第一认证令牌;根据所述合法客户端的网络地址和所述合法客户端的标识码生成第一序列值,将所述第一认证令牌和第一序列值重组为第二认证令牌;将所述第一响应中的第一认证令牌替换为所述第二认证令牌,并将包含所述第二认证令牌的所述第一响应发送至所述合法客户端。本发明采用了客户端身份验证机制,避免非法客户端假冒合法客户端访问服务器,有效防御各种会话劫持攻击,即使更换了令牌,也不会产生误报或漏报,防御性更加全面、可靠。
文档编号H04L29/06GK103067385SQ20121057953
公开日2013年4月24日 申请日期2012年12月27日 优先权日2012年12月27日
发明者王朋涛 申请人:深圳市深信服电子科技有限公司