基于脚本语言的报文处理方法及装置的制造方法

文档序号:10515428
基于脚本语言的报文处理方法及装置的制造方法
【专利摘要】本发明公开了一种基于脚本语言的报文处理方法及装置,应用于分别与网站服务器和用户主机连接的网络设备上,所述方法包括:将所述用户主机发送的请求报文发送给所述网站服务器;接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集;判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。本发明基于脚本语言的报文处理方法及装置应用在网络设备上,通过配置脚本关键字以对网络服务器的应答报文中包含有脚本关键字的内容进行过滤,从而过滤掉WEB页面中危险脚本,以提供给用户安全的WEB页面,进而为用户上网浏览网页提供有效的防护。
【专利说明】
基于脚本语言的报文处理方法及装置
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种基于脚本语言的报文处理方法及装置。
【背景技术】
[0002]随着互联网技术的迅猛发展,许多用户的关键业务基于WEB应用来实现,例如浏览网页、网购、网络转账等。然而当前的网络安全形势比较严峻,各种攻击手段层出不穷,例如:SQL (Structured Query Language,结构化查询语言)注入、网站敏感文件扫描、服务器漏洞、网站程序Oday等方法获得网站管理员密码,然后登录网站后台,通过数据库上传漏洞获得一个webshell (WEB入侵的脚本攻击工具),利用webshell修改网站页面的内容,向页面中加入恶意转向代码。当用户访问被加入恶意代码的页面时,就会自动的访问被转向的地址或者下载木马病毒,造成用户账号泄露、个人信息泄露等问题。

【发明内容】

[0003]有鉴于此,本发明提出一种基于脚本语言的报文处理方法及装置以解决上述技术问题。
[0004]为了达到上述目的,本发明所采用的技术方案为:
[0005]根据本发明实施例的第一方面,提出一种基于脚本语言的报文处理方法,应用于分别与网站服务器和用户主机连接的网络设备上,所述方法包括:
[0006]将所述用户主机发送的请求报文发送给所述网站服务器;
[0007]接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集;
[0008]判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。
[0009]本发明方法的进一步改进在于,所述将所述用户主机发送的请求报文发送给所述网站服务器之前,还包括:
[0010]检测所述请求报文中是否包含有支持压缩格式的请求报文;
[0011]若包含,则修改所述请求报文以获得不支持压缩格式的请求报文;
[0012]所述将所述用户主机发送的请求报文发送给所述网站服务器,具体为:将所述不支持压缩格式的请求报文发送给所述网站服务器。
[0013]本发明方法的进一步改进在于,所述接收所述网站服务器发送的应答报文,具体为:通过传输控制协议TCP的80端口接收所述网站服务器发送的应答报文。
[0014]本发明方法的进一步改进在于,所述接收所述网站服务器发送的应答报文后,还包括:
[0015]判断是否对所述应答报文进行脚本关键字查询,若是,则执行所述根据预先配置的脚本关键字获取所述应答报文的结果集;若否,则将所述应答报文发送给所述用户主机。
[0016]本发明方法的进一步改进在于,所述根据预先配置的脚本关键字获取所述应答报文的结果集,具体为:
[0017]调用预先配置的脚本关键字查询引擎对所述应答报文进行查找,根据查找结果获取所述应答报文的结果集。
[0018]本发明方法的进一步改进在于,所述修改所述应答报文内容,包括:
[0019]根据具有脚本关键字的结果集找到所述应答报文的脚本开始位置和脚本结束位置以替换脚本内容;
[0020]修改替换脚本内容后的应答报文的TCP头校验和。
[0021]根据本发明的第二方面,提出一种基于脚本语言的报文处理装置,应用于分别与网站服务器与用户主机连接的网络设备上,所述装置包括:
[0022]请求报文处理单元,用于将所述用户主机发送的请求报文发送给所述网站服务器;
[0023]获取单元,用于接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集;
[0024]应答报文处理单元,用于判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。
[0025]本发明装置的进一步改进在于,所述装置还包括:
[0026]检测单元,用于检测所述请求报文中是否包含有支持压缩格式的请求报文;
[0027]第一修改单元,用于在所述请求报文包含有支持压缩格式的请求报文时,修改所述请求报文以获得不支持压缩格式的请求报文;
[0028]所述请求报文处理单元,具体用于将所述不支持压缩格式的请求报文发送给所述网站服务器。
[0029]本发明装置的进一步改进在于,所述获取单元,具体用于在接收所述网站服务器发送的应答报文时,通过传输控制协议TCP的80端口接收所述网站服务器发送的应答报文。
[0030]本发明装置的进一步改进在于,所述获取单元还用于,在接收所述网站服务器发送的应答报文后,判断是否对所述应答报文进行脚本关键字查询,若是,则执行所述根据预先配置的脚本关键字获取所述应答报文的结果集;若否,则将所述应答报文发送给所述用户主机。
[0031]本发明装置的进一步改进在于,所述获取单元在获取对所述应答报文中根据预先配置脚本关键字查询的结果集时,具体用于调用预先配置的脚本关键字查询引擎对所述应答报文进行查找,根据查找结果获取所述应答报文的结果集。
[0032]本发明装置的进一步改进在于,所述应答报文处理单元,包括:
[0033]替换单元,用于在修改所述应答报文内容时根据具有脚本关键字的结果集找到所述应答报文的脚本开始位置和脚本结束位置以替换脚本内容;
[0034]第二修改单元,用于修改替换脚本内容后的应答报文的TCP头校验和。
[0035]本发明的有益效果在于,本发明基于脚本语言的报文处理方法及装置应用在网络设备上,通过配置脚本关键字以对网络服务器的应答报文中包含有脚本关键字的内容进行过滤,从而过滤掉WEB页面中危险脚本,以提供给用户安全的WEB页面,进而为用户上网浏览网页提供有效的防护。
【附图说明】
[0036]图1为本发明基于脚本语言的报文处理方法的实施例流程图;
[0037]图2为本发明基于脚本语言的报文处理装置的实施例框图。
【具体实施方式】
[0038]以下将结合附图所示的【具体实施方式】对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0039]脚本语言能够为网络设备提供灵活强大的定制功能,该网络设备可以是网络安全设备、流量控制设备和应用交付平台设备等。例如,对于应用交付平台设备,其支持大多数应用交付的标准功能,可以满足大部分网络系统对这方面的功能及部署要求,当某些应用系统对数据控制有着更加精细的定制要求,或者对标准协议的功能支持有更高的要求,这时候就可以使用一些脚本语言来增强网络设备的功能,实现这些功能要求。因此,保证脚本语言中不含有危险脚本非常重要,本发明的网络设备具有脚本过滤功能,从而可以实现过滤掉web页面中的危险脚本语言。
[0040]请参见图1,图1为本发明基于脚本语言的报文处理方法的实施例流程图。本发明基于脚本语言的报文处理方法应用于分别与网站服务器和用户主机连接的网络设备上,该方法包括以下步骤:
[0041]步骤101、将用户主机发送的请求报文发送给网站服务器。
[0042]在实施例中,该网络设备连接在网站服务器和用户主机之间以用于为用户提供安全的上网环境。用户发送的请求报文先经过网络设备,经网络设备处理后,再发送给网站服务器。在本发明的实施方式中,网络设备将用户主机发送的请求报文发送给网站服务器之前,还可以对该请求报文做进一步的处理:网络设备检测该请求报文中是否包含有支持压缩格式的请求报文;若包含,则修改该请求报文以获得不支持压缩格式的请求报文并发送给网站服务器;若不包含,则发送给网站服务器。如此设置以使网络设备将不支持压缩格式的请求报文发送给网站服务器。
[0043]步骤102、接收网站服务器发送的应答报文,根据预先配置的脚本关键字获取应答报文的结果集。
[0044]在网络服务器接收用户主机发送的请求报文后,则会给用户主机响应应答报文,该应答报文同样需要经过网络设备的处理后才会发送给用户主机。进一步地,网络设备接收网站服务器发送的应答报文是通过传输控制协议TCP的80端口进入的应答报文。具体地,该网络设备接收到网站服务器发送的应答报文后进行判断该应答报文是否为TCP的80端口报文,若是,则执行根据预先配置的脚本关键字获取应答报文的结果集;若否,则将该应答报文发送给用户主机。
[0045]进一步地,在接收网站服务器发送的应答报文后,本发明的实施例还可以包括:判断是否对该应答报文进行脚本关键字查询,若是,则执行根据预先配置的脚本关键字获取应答报文的结果集;若否,则将应答报文发送给用户主机。从广义上来说,即本发明的网络设备是否开启脚本过滤功能,通过控制该脚本过滤功能开启或关闭从而决定是否对应答报文进行脚本语言过滤,当然该脚本过滤功能也可以在接收网站服务器发送的应答报文前开启O
[0046]其中,在本发明中,根据预先配置的脚本关键字获取应答报文的结果集,具体为调用预先配置的脚本关键字查询引擎对应答报文进行查找,根据查找结果获取应答报文的结果集。进一步地,在本实施方式中,可以以AC(Aho-Corasick)算法查找具体地说明,当然在本发明的其他实施方式中还可以以其他方式查找。首先预先配置的脚本关键字编译AC引擎,然后在该网络设备接收到应答报文后,调用该AC引擎对应答报文进行脚本关键字AC算法查找,根据查找结果获取应答报文的AC结果集。
[0047]步骤103、判断结果集是否为空,若不为空,修改应答报文内容,并将修改后不包含脚本关键字的应答报文发送给用户主机。
[0048]本实施例中,根据上述AC结果集,判断该AC结果集是否为空,即该AC结果集中是否包含有脚本关键字,若为空,即不含有脚本关键字,表征该应答报文中不包含有危险脚本;若不为空,即表征该应答报文中包含有危险脚本,因此需要修改应答报文内容,并将修改后不包含脚本关键字的应答报文发送给用户主机,从而提供给用户安全的WEB页面。
[0049]其中,在修改应答报文内容的步骤中,还可以包括:根据具有关键字的结果集找到该应答报文的脚本开始位置和脚本结束位置以替换脚本内容,具体地,该通过预先配置纯净的脚本内容(即不含危险内容的脚本文件)以使在替换过程中指定到该纯净的脚本内容的位置,以通过加载替换具有关键字的脚本内容。在替换脚本内容后,还需要修改替换脚本内容后的应答报文的TCP头校验和,从而适配TCP首部和数据在发送端到接收端之间的任何改动。
[0050]与前述基于脚本语言的报文处理方法实施例相对应,本发明还提供了基于脚本语言的报文处理装置的实施例。
[0051]本发明基于脚本语言的报文处理装置应用于分别与网站服务器与用户主机连接的网络设备上,该网络设备包括CPU、非易失性存储器、内存以及其他硬件。该装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现,以软件实现为了,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,该网络设备可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0052]如图2所示,图2为本发明基于脚本语言的报文处理装置的实施例框图。本发明基于脚本语言的报文处理装置包括:请求报文处理单元201、获取单元202、应答报文处理单元203。
[0053]其中,请求报文处理单元201,用于将用户主机发送的请求报文发送给网站服务器;
[0054]获取单元202,用于接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集;
[0055]应答报文处理单元203,用于判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。
[0056]本实施例中,该装置还可以包括:检测单元和第一修改单元,其中,
[0057]检测单元,用于检测请求报文中是否包含有支持压缩格式的请求报文;
[0058]第一修改单元,用于在请求报文包含有支持压缩格式的请求报文时,修改所述请求报文以获得不支持压缩格式的请求报文。
[0059]在本实施例中,请求报文处理单元,具体用于将不支持压缩格式的请求报文发送给网站服务器。
[0060]在实施例中,获取单元202用于在接收网站服务器发送的应答报文时,接收网站服务器通过TCP的80端口发送的应答报文。具体地,该网络设备接收到网站服务器发送的应答报文后进行判断该应答报文是否为TCP的80端口报文,若是,则执行根据预先配置的脚本关键字获取应答报文的结果集;若否,则将该应答报文发送给用户主机。
[0061]进一步地,该获取单元202,还用于在接收网站服务器发送的应答报文后,判断是否对应答报文进行脚本关键字查询,若是,则执行根据预先配置的脚本关键字获取应答报文的结果集;若否,则将应答报文发送给用户主机。
[0062]获取单元202,具体用于在获取对应答报文中根据预先配置脚本关键字查询的结果集时,调用预先配置的脚本关键字查询引擎对应答报文进行查找,根据查找结果获取应答报文的结果集。
[0063]本实施例中,该应答报文处理单元203,包括:
[0064]替换单元,用于在修改应答报文内容时根据具有脚本关键字的结果集找到应答报文的脚本开始位置和脚本结束位置以替换脚本内容;
[0065]第二修改单元,用于修改替换脚本内容后的应答报文的TCP头校验和,从而适配TCP首部和数据在发送端到接收端之间的任何改动。
[0066]在本发明中,具体地工作流程为:网络设备在接收到用户主机发送的请求报文后,检测该请求报文中是否包含有支持压缩格式的请求报文,若包含,则修改请求报文以获得不支持压缩格式的请求报文;若不包含,则将该请求报文发送给网站服务器。网站服务器在接收到请求报文后响应应答报文发送给网络设备,在网络设备接收应答报文时判断该应答报文是否通过TCP的80端口进入,若是,则做进一步处理;若否,则将该应答报文发送给用户主机。在该应答报文是通过TCP的80端口进入的应答报文时,判断是否对该应答报文进行脚本关键字查询,若否,则将所述应答报文发送给所述用户主机;若是,则执行所述根据预先配置的脚本关键字获取所述应答报文的结果集,其中,根据预先配置的脚本关键字获取应答报文的结果集具体为:调用预先配置的脚本关键字查询引擎对应答报文进行查找,根据查找结果获取应答报文的结果集。最后判断该结果集是否为空,若为空,则将应答报文发送给用户主机;若不为空,修改应答报文内容,并将修改后不包含脚本关键字的应答报文发送给用户主机。其中,修改应答报文内容包括:根据具有脚本关键字的结果集找到应答报文的脚本开始位置和脚本结束位置以替换脚本内容,修改替换脚本内容后的应答报文的TCP头校验和。
[0067]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0068]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0069]由上述实施例可见,本发明基于脚本语言的报文处理方法及装置应用在网络设备上,通过在网络设备上根据用户配置的对应需要过滤脚本关键字编译查找引擎,以对网络服务器的应答报文中查询包含有脚本关键字的内容,并对包含有脚本关键字内容的应答报文进行过滤,从而过滤掉WEB页面中危险脚本,以提供给用户安全的WEB页面,进而为用户上网浏览网页提供有效的防护。
[0070]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0071]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种基于脚本语言的报文处理方法,应用于分别与网站服务器和用户主机连接的网络设备上,其特征在于,所述方法包括: 将所述用户主机发送的请求报文发送给所述网站服务器; 接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集; 判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。2.根据权利要求1所述的方法,其特征在于,所述将所述用户主机发送的请求报文发送给所述网站服务器之前,还包括: 检测所述请求报文中是否包含有支持压缩格式的请求报文; 若包含,则修改所述请求报文以获得不支持压缩格式的请求报文; 所述将所述用户主机发送的请求报文发送给所述网站服务器,具体为:将所述不支持压缩格式的请求报文发送给所述网站服务器。3.根据权利要求1所述的方法,其特征在于,所述接收所述网站服务器发送的应答报文,具体为:通过传输控制协议TCP的80端口接收所述网站服务器发送的应答报文。4.根据权利要求1所述的方法,其特征在于,所述接收所述网站服务器发送的应答报文后,还包括: 判断是否对所述应答报文进行脚本关键字查询,若是,则执行所述根据预先配置的脚本关键字获取所述应答报文的结果集;若否,则将所述应答报文发送给所述用户主机。5.根据权利要求1所述的方法,其特征在于,所述根据预先配置的脚本关键字获取所述应答报文的结果集,具体为: 调用预先配置的脚本关键字查询引擎对所述应答报文进行查找,根据查找结果获取所述应答报文的结果集。6.根据权利要求5所述的方法,其特征在于,所述修改所述应答报文内容,包括: 根据具有脚本关键字的结果集找到所述应答报文的脚本开始位置和脚本结束位置以替换脚本内容; 修改替换脚本内容后的应答报文的TCP头校验和。7.—种基于脚本语言的报文处理装置,应用于分别与网站服务器与用户主机连接的网络设备上,其特征在于,所述装置包括: 请求报文处理单元,用于将所述用户主机发送的请求报文发送给所述网站服务器;获取单元,用于接收所述网站服务器发送的应答报文,根据预先配置的脚本关键字获取所述应答报文的结果集; 应答报文处理单元,用于判断所述结果集是否为空,若不为空,修改所述应答报文内容,并将修改后不包含所述脚本关键字的应答报文发送给所述用户主机。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 检测单元,用于检测所述请求报文中是否包含有支持压缩格式的请求报文; 第一修改单元,用于在所述请求报文包含有支持压缩格式的请求报文时,修改所述请求报文以获得不支持压缩格式的请求报文; 所述请求报文处理单元,具体用于将所述不支持压缩格式的请求报文发送给所述网站服务器。9.根据权利要求7所述的装置,其特征在于,所述获取单元,具体用于在接收所述网站服务器发送的应答报文时,通过传输控制协议TCP的80端口接收所述网站服务器发送的应答报文。10.根据权利要求7所述的装置,其特征在于,所述获取单元,还用于在接收所述网站服务器发送的应答报文后,判断是否对所述应答报文进行脚本关键字查询,若是,则执行所述根据预先配置的脚本关键字获取所述应答报文的结果集;若否,则将所述应答报文发送给所述用户主机。11.根据权利要求7所述的装置,其特征在于,所述获取单元,具体用于在获取对所述应答报文中根据预先配置脚本关键字查询的结果集时,调用预先配置的脚本关键字查询引擎对所述应答报文进行查找,根据查找结果获取所述应答报文的结果集。12.根据权利要求11所述的装置,其特征在于,所述应答报文处理单元,包括: 替换单元,用于在修改所述应答报文内容时,根据具有脚本关键字的结果集找到所述应答报文的脚本开始位置和脚本结束位置以替换脚本内容; 第二修改单元,用于修改替换脚本内容后的应答报文的TCP头校验和。
【文档编号】H04L29/06GK105871774SQ201510025428
【公开日】2016年8月17日
【申请日】2015年1月19日
【发明人】邓龙飞
【申请人】杭州迪普科技有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1