CN108462749B - 一种Web应用处理方法、装置及系统 - Google Patents

一种Web应用处理方法、装置及系统 Download PDF

Info

Publication number
CN108462749B
CN108462749B CN201810239802.6A CN201810239802A CN108462749B CN 108462749 B CN108462749 B CN 108462749B CN 201810239802 A CN201810239802 A CN 201810239802A CN 108462749 B CN108462749 B CN 108462749B
Authority
CN
China
Prior art keywords
web application
processing
source code
page content
client browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810239802.6A
Other languages
English (en)
Other versions
CN108462749A (zh
Inventor
张铮
邬江兴
王晓梅
王立群
李卫超
张杰鑫
马博林
谢光伟
刘镇武
刘浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201810239802.6A priority Critical patent/CN108462749B/zh
Publication of CN108462749A publication Critical patent/CN108462749A/zh
Application granted granted Critical
Publication of CN108462749B publication Critical patent/CN108462749B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提出一种Web应用处理方法、装置及系统。上述Web应用处理方法应用于Web应用服务器,所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;该方法包括:接收客户端浏览器发送的页面请求信息;根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。采用上述技术方案可以避免非法用户通过JavaScript脚本注入攻击Web服务系统。

Description

一种Web应用处理方法、装置及系统
技术领域
本发明涉及网络安全技术领域,尤其涉及一种Web应用处理方法、装置及系统。
背景技术
随着互联网技术的发展,Web服务系统作为重要的服务承载和服务提供平台,其作为政府、企业和个人在互联网上的虚拟代表,汇集了海量信息,如用户信息、企业数据、商业机密等,其重要程度不言而喻。
JavaScript作为一种客户端脚本语言,被广泛用于Web应用开发,主要用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果,但也相应地引发出一系列的安全问题。当前,JavaScript脚本注入攻击已成为一种常见的网页攻击手段,主要用于在Web应用服务的JavaScript源代码文件中嵌入恶意内容,传播病毒、木马,实现网站钓鱼。
针对JavaScript脚本注入攻击威胁,传统解决方案主要是基于JavaScript的恶意代码检测技术,针对恶意JavaScript代码的静态特征和动态特征,如:数据特征、行为特征等,利用机器学习的相关知识,检测JavaScript源代码文件是否具有恶意性。该方法的应用技术较为成熟,但具有较高的漏检率,而且不能有效检测未知特征的恶意JavaScript代码,无法全面根除JavaScript脚本注入攻击问题。
发明内容
基于上述现有技术的缺陷和不足,本发明提出一种Web应用处理方法、装置及系统,可以防止JavaScript脚本注入攻击,提高Web服务系统的安全性。
一种Web应用处理方法,应用于Web应用服务器,所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;该方法包括:
接收客户端浏览器发送的页面请求信息;
根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。
优选地,所述对所述源代码文件进行数字签名处理,包括:
使用非对称密钥对的私钥对所述源代码文件进行数字签名处理。
优选地,该方法还包括:
将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
一种Web应用处理方法,应用于客户端浏览器,所述客户端浏览器安装有包含验签密钥的JS安全插件;该方法包括:
向Web应用服务器发送页面请求信息;
接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
利用所述JS安全插件对所述页面内容进行验签和标签解析处理;
当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
优选地,所述利用所述JS安全插件对所述页面内容进行验签和标签解析处理,包括:
利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;
如果验签成功,则从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;
对所述标签化的JavaScript代码进行解析处理。
优选地,该方法还包括:
当接收到所述Web应用服务器发送的安装JS安全插件提示信息时,访问所述Web应用服务器的插件发布平台,从所述插件发布平台下载并安装相应的JS安全插件。
一种Web应用处理装置,应用于Web应用服务器,所述装置包括:
预处理单元,用于对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;
请求接收单元,用于接收客户端浏览器发送的页面请求信息;
信息反馈单元,用于根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。
优选地,所述预处理单元对所述源代码文件进行数字签名处理时,具体用于:
使用非对称密钥对的私钥对所述源代码文件进行数字签名处理。
优选地,该装置还包括:
插件发布单元,用于将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
一种Web应用处理装置,应用于客户端浏览器,所述客户端浏览器安装有包含验签密钥的JS安全插件;该装置包括:
请求发送单元,用于向Web应用服务器发送页面请求信息;
信息接收单元,用于接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
数据处理单元,用于利用所述JS安全插件对所述页面内容进行验签和标签解析处理;
代码执行单元,用于当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
优选地,所述数据处理单元,包括:
验签处理单元,用于利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;
筛选处理单元,用于当所述验签处理单元验签成功时,从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;
标签解析单元,用于对所述标签化的JavaScript代码进行解析处理。
优选地,该装置还包括:
插件下载单元,用于当接收到所述Web应用服务器发送的安装JS安全插件提示信息时,访问所述Web应用服务器的插件发布平台,从所述插件发布平台下载并安装相应的JS安全插件。
一种Web应用处理系统,包括Web应用服务器和客户端浏览器;所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;所述客户端浏览器安装有包含验签密钥的JS安全插件;
所述Web应用服务器具体用于:接收客户端浏览器发送的页面请求信息;根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理;
所述客户端浏览器具体用于:向Web应用服务器发送页面请求信息;接收所述Web应用服务器发送的页面内容;利用所述JS安全插件对所述页面内容进行验签和标签解析处理;当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
本发明技术方案对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对源代码文件进行数字签名处理。当客户端浏览器请求页面时,利用标签化和数字签名处理后的源代码文件组成页面内容发送给客户端浏览器,客户端浏览器利用相应的JS安全插件对页面内容进行验签和标签解析,以便显示页面内容。由于上述Web应用处理方法包含对源代码文件的标签化和数字签名处理,因此可以明显区分非法注入的未能正确标签化和签名的源代码文件,进而可以避免非法用户通过JavaScript脚本注入攻击Web服务系统。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的Web应用服务器的硬件结构示意图;
图2是本发明实施例提供的一种Web应用处理方法的流程示意图;
图3是本发明实施例提供的客户端浏览器的硬件结构示意图;
图4是本发明实施例提供的另一种Web应用处理方法的流程示意图;
图5是本发明实施例提供的又一种Web应用处理方法的流程示意图;
图6是本发明实施例提供的一种Web应用服务器的结构示意图;
图7是本发明实施例提供的一种客户端浏览器的结构示意图;
图8是本发明实施例提供的一种Web应用处理系统的组成结构示意图。
具体实施方式
本发明实施例技术方案应用于对Web服务系统的Web应用进行处理的应用场景。采用本发明实施例技术方案,可以避免Web服务系统发生JavaScript脚本注入攻击问题,提高Web服务系统的安全性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种Web应用处理方法,该方法应用于Web应用服务器,所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对源代码文件进行数字签名处理;
参见图1所示,本发明实施例中的Web应用服务器上分别部署了Web应用服务平台和JS插件发布平台。Web应用服务平台包含JS处理程序模块,该JS处理程序模块又具体包含标签化处理模块和数字签名处理模块。其中,标签化处理模块具体用于实现对Web应用服务的源代码中的JavaScript代码进行标签化处理,数字签名处理模块具体用于实现对Web应用服务的源代码进行数字签名处理。
可选的,在本发明的另一个实施例中,上述对源代码文件进行数字签名处理,包括:
使用非对称密钥对的私钥对源代码文件进行数字签名处理。
具体的,在本发明实施例中,利用非对称加密方法对源代码文件进行数字签名处理。非对称密钥由一对密钥组成,即私钥和公钥,在Web应用服务器用非对称密钥对的私钥对源代码文件进行数字签名处理。而非对称密钥对中的公钥则作为验签密钥发送给客户端浏览器,使客户端浏览器利用公钥对接收的签名的源代码文件进行验签处理。
可以理解,在实际实施本发明实施例技术方案时,可以根据实际情况,灵活选择签名密钥,只要能够实现对源代码文件进行签名,以及将验签密钥发送给客户端浏览器即可。
可选的,在本发明的另一个实施例中,上述Web应用处理方法还包括:
Web应用服务器将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
具体的,上述验签密钥是与Web应用服务器对源代码文件进行签名使用的签名密钥对应的,可以对签名源代码文件进行验签的密钥。Web服务器对页面内容的源代码文件进行签名处理后,利用验签密钥生成JS安全插件并上传至插件发布平台,客户端浏览器可以通过上述插件发布平台下载上述JS安全插件,利用下载的JS安全插件可以实现对页面内容的源代码文件的验签。
进一步的,在上述JS安全插件中,还包括对页面内容的源代码文件进行标签解析的相关信息,即Web应用服务器将对页面内容的源代码文件进行标签化处理的相关信息加载到上述JS安全插件中,客户端浏览器在下载该安全插件后,可以根据其中的标签化处理信息,对页面内容的源代码文件进行标签解析处理。
上述Web应用服务平台包含N个Web应用服务站点。每个Web应用服务站点都与JS插件发布平台存在链接关系,其源代码文件都需要经过JS处理程序做预先处理。
上述JS插件发布平台用于向用户提供JS安全插件,插件会依据不同的浏览器提供相应的版本,且JS安全插件与Web应用站点的JavaScript的标签存在数字签名认证关系,即JS安全插件可以对Web应用站点的JavaScript签名处理得到的标签进行验签处理。当用户访问目标Web应用服务时,若客户端的浏览器未安装相应的JS安全插件,将无法解析目标Web应用的标签化JavaScript代码,导致用户不能正常使用应有的Web应用服务。由此,目标网站会提示用户安装相应的JS安全插件。JS安全插件安装完毕后,客户端浏览器内原有JS引擎会被禁用。
在上述Web应用服务器中,还包括本地文件存储模块,用于对各种版本的JS安全插件、Web应用服务的源代码文件及其它任意的文件进行存储。
当用户将某一Web应用服务的源代码文件上传至Web应用服务器时,Web应用服务器中的Web应用服务平台利用JS处理程序,对上传的Web应用服务的源代码文件中的JavaScript代码进行标签化处理并部署到Web应用服务平台,以及对源代码文件进行数字签名处理,同时生成与上述标签化处理和数字签名处理相对应的JS安全插件,并上传到JS插件发布平台,供用户下载安装。
当用户通过客户端浏览器应用上述Web应用服务器上部署的Web应用服务时,需要客户端浏览器与Web应用服务器之前以页面请求和应答的方式实现信息交互。
基于上述介绍的本发明实施例中的Web应用服务器的结构和功能,参见图2所示,本发明实施例公开的应用于Web应用服务器的Web应用处理方法具体包括:
S201、接收客户端浏览器发送的页面请求信息;
具体的,在Web服务系统中,用户通过客户端浏览器向Web应用服务器发送页面请求信息来请求相应的页面内容。相应的,Web应用服务器接收客户端浏览器发送的页面请求信息。
S202、根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。
具体的,当Web应用服务器接收到客户端浏览器发送的页面请求信息时,对接收的页面请求信息进行解析处理,确认用户所请求的页面内容。然后,Web应用服务器利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组成相应的页面内容,然后将组成的页面内容发送给客户端浏览器,即向客户端浏览器返回其所请求的页面内容。
相应的,上述客户端浏览器中安装有相应的JS安全插件,该JS安全插件是与Web应用服务器对Web应用服务的源代码文件进行标签化处理和签名处理相对应的可以实现对上述源代码文件进行验签处理和标签解析处理的JS安全插件。客户端浏览器安装上述JS安全插件后,可以对获取的页面内容的源代码文件进行验签处理和标签解析处理,进而实现页面内容显示。
需要说明的是,上述利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组成相应的页面内容,具体是指利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组织得到用户所请求的页面内容。可以理解,上述源代码文件是得到页面内容的基本元素。上述源代码文件,可以是一个Web应用服务的源代码文件,也可以是多个Web应用服务的源代码文件,具体内容由用户所请求的Web应用服务页面内容而决定。
通过上述介绍可见,本发明实施例技术方案对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对源代码文件进行数字签名处理。当客户端浏览器请求页面时,利用标签化和数字签名处理后的源代码文件组成页面内容发送给客户端浏览器,客户端浏览器利用相应的JS安全插件对页面内容进行验签和标签解析,以便显示页面内容。由于上述Web应用处理方法包含对源代码文件的标签化和数字签名处理,因此可以明显区分非法注入的未能正确标签化和签名的源代码文件,进而可以避免非法用户通过JavaScript脚本注入攻击Web服务系统。
相应的,本发明实施例还公开了应用于客户端浏览器的Web应用处理方法。上述客户端浏览器安装有包含验签密钥的JS安全插件;
具体的,参见图3所示,本发明实施例中的上述客户端浏览器中安装有JS安全插件,该JS安全插件为Web应用服务器发布的JS安全插件,其中包含Web应用服务器对Web应用程序进行签名的验签密钥,该JS安全插件可以对上述Web应用服务器进行标签化和签名处理后的Web应用服务的源代码文件进行验签处理和标签解析处理。
参见图4所示,在Web服务系统运行过程中,本发明实施例公开的应用于上述客户端浏览器的Web应用处理方法包括:
S401、向Web应用服务器发送页面请求信息;
具体的,当客户端浏览器调用Web服务系统的Web应用服务时,首先向Web应用服务器发送页面请求信息,以页面信息的形式实现与Web应用服务器的数据交互。
S402、接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
具体的,当Web应用服务器接收到客户端浏览器发送的页面请求信息后,利用经过标签化处理和数字签名处理的源代码文件组成客户端浏览器所请求的页面内容,并将该页面内容发送给客户端浏览器。相应的,客户端浏览器接收Web应用服务器发送的页面内容。
S403、利用所述JS安全插件对所述页面内容进行验签和标签解析处理;
具体的,在接收到Web应用服务器发送的页面内容后,利用安装的JS安全插件对接收的页面内容的源代码文件进行验签和标签解析处理。具体处理过程为利用JS安全插件中的验签密钥对页面内容的源代码文件进行验签处理,以及对验签成功的源代码文件进行标签解析处理。
当验签成功并且标签解析成功时,执行步骤S404、执行所述页面内容的源代码文件。
具体的,如果客户端浏览器对接收的页面内容的源代码文件验签成功,并且标签解析成功,则可以得到可运行的页面内容源代码文件,然后客户端浏览器执行该页面内容的源代码文件,对页面内容进行显示。
如果客户端浏览器对接收的页面内容进行验签失败或标签解析失败,则说明接收的页面内容不是Web应用服务器发送的页面内容,并且可能是非法人员注入的非法JavaScript脚本文件,此时将验签失败或标签解析失败的页面内容丢弃,防止客户端浏览器运行非法注入的脚本文件而造成Web服务系统被攻击。
通过上述介绍可见,采用本发明实施例提出的Web应用处理方法,客户端浏览器在接收到Web应用服务器发送的由经过标签化处理和数字签名处理的源代码文件组成的页面内容时,利用JS安全插件对接收的页面内容进行验签和标签解析处理,在确认验签成功并且标签解析成功时,再执行页面内容的源代码文件。上述处理过程包含对页面内容的验签和标签解析处理,因此可以识别非法人员在页面内容源代码中注入的非法脚本文件,由此保证客户端浏览器所执行的源代码文件都是正确合法的源代码文件,可以提高Web服务系统的安全性。
本发明实施例所提出的Web应用处理方法是应用于图1所示的Web应用服务器和图3所示的客户端浏览器的交互过程中的处理方法。下面结合图5,详细介绍在上述交互过程中,本发明实施例所提出的Web应用处理方法的具体执行过程。
参见图5所示,本发明实施例提出的Web应用处理方法具体包括:
S501、客户端浏览器向Web应用服务器发送页面请求信息;
具体的,当客户端浏览器调用Web服务系统的Web应用服务时,首先向Web应用服务器发送页面请求信息,以页面信息的形式实现与Web应用服务器的数据交互。
S502、Web应用服务器接收客户端浏览器发送的页面请求信息;
S503、Web应用服务器根据接收的页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容;
具体的,当Web应用服务器接收到客户端浏览器发送的页面请求信息时,对接收的页面请求信息进行解析处理,确认用户所请求的页面内容。然后,Web应用服务器利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组成相应的页面内容,然后将组成的页面内容发送给客户端浏览器,即向客户端浏览器返回其所请求的页面内容。
需要说明的是,上述利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组成相应的页面内容,具体是指利用Web应用服务的已经经过标签化处理和数字签名处理的源代码文件,组织得到用户所请求的页面内容。可以理解,上述源代码文件是得到页面内容的基本元素。上述源代码文件,可以是一个Web应用服务的源代码文件,也可以是多个Web应用服务的源代码文件,具体内容由用户所请求的Web应用服务页面内容而决定。
S504、客户端浏览器接收Web应用服务器发送的页面内容;
当客户端浏览器接收到Web应用服务器发送的页面内容并尝试解析时,Web应用服务器可以检测客户端浏览器是否具有相应的JS安全插件。
如果客户端浏览器已经安装相应的JS安全插件,则客户端浏览器可以通过步骤S506~S508、对接收的页面内容进行验签和标签解析处理;如果客户端浏览器尚未安装相应的JS安全插件,则Web应用服务器向客户端浏览器发送安装JS安全插件提示信息。
当客户端接收到Web应用服务器发送的安装JS安全插件提示信息时,执行步骤S505、访问Web应用服务器的插件发布平台,从插件发布平台下载并安装相应的JS安全插件;
具体的,客户端浏览器下载的上述JS安全插件,是与Web应用服务器发送的页面内容相对应的,可以实现对该页面内容的验签和标签解析处理的JS安全插件。
一般情况下,客户端浏览器会事先下载安装JS安全插件。当Web引用服务器使用新的签名密钥或新的标签化算法对页面内容进行签名和标签化处理时,会提示客户端浏览器下载相对应的新的JS安全插件。
S506、客户端浏览器利用JS安全插件中的验签密钥对接收的页面内容进行验签处理;
具体的,客户端浏览器利用JS安全插件中的验签密钥对接收的页面内容的源代码文件进行验签处理。
如果验签失败,说明页面内容的源代码文件没有经过签名处理,或不是合法的源代码文件,并且可能是非法注入的源代码文件,则将其抛弃,避免运行该源代码文件给Web服务系统带来安全问题。
如果验签成功,则执行步骤S507、客户端浏览器从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;
具体的,对于页面内容的源代码文件中的未进行标签化的源代码文件,直接对其进行解析、调优、执行处理。
S508、客户端浏览器对筛选出的标签化的JavaScript代码进行解析处理;
具体的,客户端浏览器根据JS安全插件中包含的标签化处理相关信息,对标签化的JavaScript代码进行解析处理,得到可执行的JavaScript代码。
当客户端浏览器对接收的页面内容验签成功并且标签解析成功时,执行步骤S509、执行页面内容的源代码文件。
具体的,对于上述由Web应用服务器经过标签化处理和签名处理的页面内容的源代码文件,客户端浏览器可以通过上述步骤对其进行正确的验签和标签解析处理,最终执行页面文件的源代码文件。
而对于非法人员上传的恶意JavaScript代码文件,首先不会通过数字签名认证,其次JavaScript代码没有经过标签化处理,不会被过滤出来,跟不会被解析执行。如果用户将恶意JavaScript代码通过表单等方式传到数据库中,显示内容时往往会被默认执行的。但同样由于JavaScript关键字没有经过标签化处理,不会被过滤出来,只会作为单纯的显示数据进行处理,不会对Web服务系统的安全性造成影响。
通过上述介绍可见,本发明实施例技术方案对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对源代码文件进行数字签名处理。当客户端浏览器请求页面时,利用标签化和数字签名处理后的源代码文件组成页面内容发送给客户端浏览器,客户端浏览器利用相应的JS安全插件对页面内容进行验签和标签解析,以便显示页面内容。由于上述Web应用处理方法包含对源代码文件的标签化和数字签名处理,因此可以明显区分非法注入的未能正确标签化和签名的源代码文件,进而可以避免非法用户通过JavaScript脚本注入攻击Web服务系统。
本发明实施例还公开了一种Web应用处理装置,该装置应用于Web应用服务器,参见图6所示,该装置包括:
预处理单元100,用于对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;
请求接收单元110,用于接收客户端浏览器发送的页面请求信息;
信息反馈单元120,用于根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。
其中,所述预处理单元100对所述源代码文件进行数字签名处理时,具体用于:
使用非对称密钥对的私钥对所述源代码文件进行数字签名处理。
可选的,在本发明的另一个实施例中,该装置还包括:
插件发布单元,用于将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
具体的,上述实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。
本发明实施例还公开了另一种Web应用处理装置,该装置应用于客户端浏览器,参见图7所示,该装置包括:
请求发送单元200,用于向Web应用服务器发送页面请求信息;
信息接收单元210,用于接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
数据处理单元220,用于利用所述JS安全插件对所述页面内容进行验签和标签解析处理;
代码执行单元230,用于当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
其中,所述数据处理单元220,包括:
验签处理单元,用于利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;
筛选处理单元,用于当所述验签处理单元验签成功时,从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;
标签解析单元,用于对所述标签化的JavaScript代码进行解析处理。
可选的,在本发明的另一个实施例中,该装置还包括:
插件下载单元,用于当接收到所述Web应用服务器发送的安装JS安全插件提示信息时,访问所述Web应用服务器的插件发布平台,从所述插件发布平台下载并安装相应的JS安全插件。
具体的,上述各实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。
本发明实施例还公开了一种Web应用处理系统,参见图8所示,该系统包括Web应用服务器300和客户端浏览器310;所述Web应用服务器300对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;所述客户端浏览器310安装有包含验签密钥的JS安全插件;
所述Web应用服务器300具体用于:接收客户端浏览器发送的页面请求信息;根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理。
所述客户端浏览器具体310用于:向Web应用服务器发送页面请求信息;接收所述Web应用服务器发送的页面内容;利用所述JS安全插件对所述页面内容进行验签和标签解析处理;当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
具体的,上述Web应用服务器300和客户端浏览器310的具体组成结构和工作内容,请参见上述各方法实施例的内容,此处不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种Web应用处理方法,其特征在于,应用于Web应用服务器,所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;该方法包括:
接收客户端浏览器发送的页面请求信息;
根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理,当所述客户端浏览器验签成功并且对所述页面内容中的标签化的JavaScript代码进行解析处理得到可执行的JavaScript代码时,执行所述页面内容的源代码文件。
2.根据权利要求1所述的方法,其特征在于,所述对所述源代码文件进行数字签名处理,包括:
使用非对称密钥对的私钥对所述源代码文件进行数字签名处理。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
4.一种Web应用处理方法,其特征在于,应用于客户端浏览器,所述客户端浏览器安装有包含验签密钥的JS安全插件;该方法包括:
向Web应用服务器发送页面请求信息;
接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;
如果验签成功,则从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;
对所述标签化的JavaScript代码进行解析处理;
当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
当接收到所述Web应用服务器发送的安装JS安全插件提示信息时,访问所述Web应用服务器的插件发布平台,从所述插件发布平台下载并安装相应的JS安全插件。
6.一种Web应用处理装置,其特征在于,应用于Web应用服务器,所述装置包括:
预处理单元,用于对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;
请求接收单元,用于接收客户端浏览器发送的页面请求信息;
信息反馈单元,用于根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理,当所述客户端浏览器验签成功并且对所述页面内容中的标签化的JavaScript代码进行解析处理得到可执行的JavaScript代码时,执行所述页面内容的源代码文件。
7.根据权利要求6所述的装置,其特征在于,所述预处理单元对所述源代码文件进行数字签名处理时,具体用于:
使用非对称密钥对的私钥对所述源代码文件进行数字签名处理。
8.根据权利要求6或7所述的装置,其特征在于,该装置还包括:
插件发布单元,用于将包含验签密钥的JS安全插件上传至插件发布平台,使客户端浏览器可以从所述插件发布平台下载所述JS安全插件。
9.一种Web应用处理装置,其特征在于,应用于客户端浏览器,所述客户端浏览器安装有包含验签密钥的JS安全插件;该装置包括:
请求发送单元,用于向Web应用服务器发送页面请求信息;
信息接收单元,用于接收所述Web应用服务器发送的页面内容;其中,所述页面内容由经过标签化处理和数字签名处理的源代码文件组成;
数据处理单元,用于利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;如果验签成功,则从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;对所述标签化的JavaScript代码进行解析处理;
代码执行单元,用于当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
10.根据权利要求9所述的装置,其特征在于,该装置还包括:
插件下载单元,用于当接收到所述Web应用服务器发送的安装JS安全插件提示信息时,访问所述Web应用服务器的插件发布平台,从所述插件发布平台下载并安装相应的JS安全插件。
11.一种Web应用处理系统,其特征在于,包括Web应用服务器和客户端浏览器;所述Web应用服务器对Web应用服务的源代码文件中的JavaScript代码进行标签化处理,以及对所述源代码文件进行数字签名处理;所述客户端浏览器安装有包含验签密钥的JS安全插件;
所述Web应用服务器具体用于:接收客户端浏览器发送的页面请求信息;根据所述页面请求信息,向所述客户端浏览器返回由经过标签化处理和数字签名处理的源代码文件组成的页面内容,使所述客户端浏览器可以利用安装的JS安全插件对所述页面内容进行验签和解析处理;
所述客户端浏览器具体用于:向Web应用服务器发送页面请求信息;接收所述Web应用服务器发送的页面内容;利用所述JS安全插件中的验签密钥对所述页面内容进行验签处理;如果验签成功,则从验签成功的页面内容的源代码文件中筛选出标签化的JavaScript代码;对所述标签化的JavaScript代码进行解析处理;当验签成功并且标签解析成功时,执行所述页面内容的源代码文件。
CN201810239802.6A 2018-03-22 2018-03-22 一种Web应用处理方法、装置及系统 Expired - Fee Related CN108462749B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810239802.6A CN108462749B (zh) 2018-03-22 2018-03-22 一种Web应用处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810239802.6A CN108462749B (zh) 2018-03-22 2018-03-22 一种Web应用处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108462749A CN108462749A (zh) 2018-08-28
CN108462749B true CN108462749B (zh) 2021-04-16

Family

ID=63236426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810239802.6A Expired - Fee Related CN108462749B (zh) 2018-03-22 2018-03-22 一种Web应用处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108462749B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672676A (zh) * 2018-12-21 2019-04-23 中国人民解放军战略支援部队信息工程大学 网络攻击防御方法及装置
CN109670328B (zh) * 2018-12-25 2022-04-26 北京城市网邻信息技术有限公司 一种数据处理方法以及装置
CN114063985A (zh) * 2020-08-10 2022-02-18 奇安信科技集团股份有限公司 Web应用的插件开发方法、装置、电子设备、介质和程序
CN112737791B (zh) * 2020-12-31 2021-09-21 北京海泰方圆科技股份有限公司 一种网页数据处理系统、方法、装置、介质和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296255A (zh) * 2008-06-30 2008-10-29 腾讯科技(深圳)有限公司 网页浏览方法、系统、代理服务器和手机浏览器
CN101459672A (zh) * 2008-12-26 2009-06-17 东北大学 网页内容认证系统及方法
CN101795276A (zh) * 2010-02-09 2010-08-04 戴宇星 基于数字签名的静态网页防篡改系统及方法
CN102111267A (zh) * 2009-12-28 2011-06-29 北京安码科技有限公司 一种基于数字签名的网站安全保护方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419991B2 (en) * 2014-09-30 2016-08-16 Juniper Networks, Inc. De-obfuscating scripted language for network intrusion detection using a regular expression signature

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296255A (zh) * 2008-06-30 2008-10-29 腾讯科技(深圳)有限公司 网页浏览方法、系统、代理服务器和手机浏览器
CN101459672A (zh) * 2008-12-26 2009-06-17 东北大学 网页内容认证系统及方法
CN102111267A (zh) * 2009-12-28 2011-06-29 北京安码科技有限公司 一种基于数字签名的网站安全保护方法及系统
CN101795276A (zh) * 2010-02-09 2010-08-04 戴宇星 基于数字签名的静态网页防篡改系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Method Level Text Summarization for Java Code Using Nano-Patterns》;Sawan Rai,et al.;《2017 24th Asia-Pacific Software Engineering Conference (APSEC)》;20171208;全文 *
《基于PKI/CA的安全网上办税系统的设计与实现》;蔡凌云;《万方知识数据库》;20111031;全文 *

Also Published As

Publication number Publication date
CN108462749A (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
US8578499B1 (en) Script-based scan engine embedded in a webpage for protecting computers against web threats
KR101497742B1 (ko) 인증, 데이터 전송 및 피싱에 대한 보호를 위한 방법 및 시스템
US20180084003A1 (en) Method and system for injecting javascript into a web page
US10904286B1 (en) Detection of phishing attacks using similarity analysis
CN108462749B (zh) 一种Web应用处理方法、装置及系统
CN107077410B (zh) 分析客户端应用行为以检测异常并且阻止访问
US9584543B2 (en) Method and system for web integrity validator
US9241004B1 (en) Alteration of web documents for protection against web-injection attacks
CN102110198B (zh) 一种网页防伪的方法
Kirda et al. Client-side cross-site scripting protection
US20160119344A1 (en) System and method for web application security
US8201248B2 (en) Authenticating a web page with embedded javascript
US8285778B2 (en) Protecting web application data
US20130263263A1 (en) Web element spoofing prevention system and method
US20160323107A1 (en) Secure Optical Codes for Accessing Content
CN102546576A (zh) 一种网页挂马检测和防护方法、系统及相应代码提取方法
CN110968872A (zh) 文件漏洞的检测处理方法、装置、电子设备及存储介质
US20190222587A1 (en) System and method for detection of attacks in a computer network using deception elements
Mitropoulos et al. How to train your browser: Preventing XSS attacks using contextual script fingerprints
CN109688130A (zh) 网页劫持检测方法、装置及计算机存储介质
Lundeen et al. New ways im going to hack your web app
US8650214B1 (en) Dynamic frame buster injection
Parimala et al. Efficient web vulnerability detection tool for sleeping giant-cross site request forgery
Masango et al. Web defacement and intrusion monitoring tool: Wdimt
KR101688390B1 (ko) 웹 사이트의 악성코드 탐지 및 차단 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210416

CF01 Termination of patent right due to non-payment of annual fee