CN112966265A - 富文本安全处理方法、装置、电子设备和存储介质 - Google Patents

富文本安全处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112966265A
CN112966265A CN202110226788.8A CN202110226788A CN112966265A CN 112966265 A CN112966265 A CN 112966265A CN 202110226788 A CN202110226788 A CN 202110226788A CN 112966265 A CN112966265 A CN 112966265A
Authority
CN
China
Prior art keywords
rich text
label
security
attribute
tag
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.)
Pending
Application number
CN202110226788.8A
Other languages
English (en)
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.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
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 JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202110226788.8A priority Critical patent/CN112966265A/zh
Publication of CN112966265A publication Critical patent/CN112966265A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种富文本安全处理方法、装置、电子设备和存储介质,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转义之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。

Description

富文本安全处理方法、装置、电子设备和存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种富文本安全处理方法、装置、电子设备和存储介质。
背景技术
富文本编辑器,Multi-function Text Editor,简称MTE,是一种可内嵌于浏览器,所见即所得的文本编辑器。Web网站有一些提供给用户输入的富文本编辑器,黑客可以利用富文本编辑器输入攻击性代码,进行XSS攻击(Cross Site Scripting跨站脚本攻击)。
当前针对XSS攻击主要是分别针对富文本标签(HTML标签)、标签属性、以及标签属性中的文本、URL等做黑名单转码,以移除和编码等措施来保证对XSS攻击的防御效果。这种对XSS攻击的防御方式需要考虑到所有攻击情况并分别进行防御,并且当新的攻击方式情况出现时,只有及时更新相应的防御方式才能避免XSS攻击。然而,新的防御方式永远比新的攻击方式慢一步,导致安全性不够可靠。
可见,现有技术对基于富文本进行攻击的防御方式不够可靠,使得客户端依然存在被攻击的风险。
发明内容
本发明提供一种富文本安全处理方法、装置、电子设备和存储介质,用以解决现有技术对基于富文本进行攻击的防御方式不够可靠,使得客户端依然存在被攻击的风险的缺陷,实现了大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险目的。
本发明提供一种富文本安全处理方法,应用于客户端,包括:
从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
根据所述执行富文本标签生成显示页面。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签,包括:
从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性;
生成标签属性为所述安全标签属性的富文本标签,作为所述执行富文本标签。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性,包括:
对于所述第一富文本标签中的任一标签属性,若所述任一标签属性为已知运行安全的标签属性,则将所述任一标签属性作为所述安全标签属性;
和/或,若所述任一标签属性中包括存在安全威胁的字符,则将对所述字符进行处理后得到的标签属性作为所述安全标签属性。
根据本发明提供一种富文本安全处理方法,在上述基础上,还包括:
获取待上传到服务器的第二富文本;其中,所述第二富文本中包括至少一个第二富文本标签;
对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签;
根据所述传输富文本标签生成第三富文本,将所述第三富文本上传到所述服务器。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签,包括:
从所述第二富文本标签中获取存在安全威胁的第一威胁内容;其中,所述第一威胁内容包括如下至少一种:所述第二富文本标签的标签属性中存在安全威胁的标签属性、所述第二富文本标签中存在安全威胁的字符;
对所述第一威胁内容进行转码处理,得到所述传输富文本标签。
本发明还提供一种富文本安全处理方法,应用于服务器,包括:
接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
根据本发明提供一种富文本安全处理方法,在上述基础上,还包括:
接收由所述客户端上传的第三富文本;所述第三富文本中包括至少一个第三富文本标签;
对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签;
对根据所述存储富文本标签生成的富文本进行存储,以通过存储的富文本向所述客户端提供所述第一富文本。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签,包括:
若所述第三富文本标签中包括存在安全威胁的第二威胁内容,则对所述第二威胁内容进行转码处理,得到所述存储富文本标签;
其中,所述第二威胁内容包括如下至少一种:所述第三富文本标签的标签属性中存在安全威胁的标签属性、所述第三富文本标签中存在安全威胁的字符。
本发明还提供一种富文本安全处理装置,应用于客户端,包括:
获取模块,用于从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
处理模块,用于对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
生成模块,用于根据所述执行富文本标签生成显示页面。
本发明还提供一种富文本安全处理装置,应用于服务器,包括:
接收模块,用于接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
发送模块,用于根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述富文本安全处理方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述富文本安全处理方法的步骤。
本发明提供的一种富文本安全处理方法、装置、电子设备和存储介质,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转码之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的应用于客户端的富文本安全处理方法的流程示意图之一;
图2是本发明提供的应用于服务器的富文本安全处理方法的流程示意图之一;
图3是本发明提供的结合客户端和服务器的富文本处理过程示意图;
图4是本发明提供的应用于客户端的富文本安全处理装置的结构框图之一;
图5是本发明提供的应用于服务器的富文本安全处理装置的结构框图之一;
图6是本发明提供的电子设备的实体结构示意图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
富文本是通过富文本编辑器生成的文件,用户调用富文本编辑器(例如,可以通过浏览器调用)输入内容(内容中可以包括文字、图片等,例如,一篇博客),富文本编辑器通过富文本标签对其进行封装,得到富文本。用户通过客户端编辑的富文本通常会上传到服务器进行存储,当用户需要在客户端显示该富文本时,通常应向服务器发送请求,服务器根据客户端发送的请求将相应的富文本发送给客户端,通过客户端对该富文本进行显示。通常情况下客户端服务器获取到富文本后直接运行,此时若富文本中存在攻击代码,则可能对客户端造成攻击。
为了解决上述技术问题,图1为本实施例提供的应用于客户端的富文本安全处理方法的流程示意图,参见图1,该富文本安全处理方法包括:
步骤101:从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签。
具体地,客户端向服务器发送请求所述第一富文本的请求信息,以使服务器在接收到所述请求信息后,根据所述请求信息向所述客户端返回所述第一富文本。
其中,客户端向服务器发送请求所述第一富文本的请求信息之前,还可以包括:客户端向所述服务器发送登录验证消息,并在服务器对所述登录验证消息验证通过后,向服务器发送所述请求消息。
富文本通过富文本标签(例如,HTML标签)对用户输入的内容进行封装,富文本标签通常包括多个标签属性(例如,通用属性、事件属性、style属性),这些标签属性通常决定了对标签封装的内容进行显示时的字体、背景、颜色等等。因此对富文本进行显示时,实际上是通过富文本标签生成用于显示富文本内容的页面。
步骤102:对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签。
由于从服务器获取的第一富文本实际上是经过转码处理后的富文本,因此客户端在对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签之前,还包括:对所述第一富文本进行反转码处理,得到
该步骤的目的是基于第一富文本标签生成显示页面之前,再一次对生成显示页面过程中可能存在的安全威胁进行排查,提高对第一富文本标签对应的代码执行过程的安全性。
具体地,客户端基于第一富文本标签执行相应代码,经过诸如识别、渲染等过程,对标签封装的内容进行显示。为了保证在对标签封装的内容进行显示过程不会因为代码执行使得客户端受到攻击,本实施例在基于第一富文本标签执行相应代码前,对第一富文本标签中存在的安全威胁进行了处理,从而保证了基于第一富文本标签进行显示的过程是安全的。
步骤103:根据所述执行富文本标签生成显示页面。
执行富文本标签是一个排除了执行过程中可能的安全威胁后生成的富文本标签,通过执行富文本标签生成显示页面,能够完全避免执行过程中受到安全威胁,避免了客户端在生成显示页面过程中受到攻击。
本实施例提供了一种富文本安全处理方法,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转码之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。
进一步地,在上述各实施例的基础上,所述对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签,包括:
从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性;
生成标签属性为所述安全标签属性的富文本标签,作为所述执行富文本标签。
可以通过富文本标签的标签属性保证富文本标签本身不存在安全威胁。具体地,可以基于第一富文本标签生成每一标签属性均为安全标签属性的富文本标签,从而得到执行富文本标签。
实际上本实施例可以设置白名单规则,通过白名单规则对富文本标签中存在的安全威胁进行过滤,得到执行富文本标签。具体地,白名单规则可以提供如何处理标签属性以消除富文本标签中安全微信的规则,实现对富文本标签中存在的安全威胁进行过滤。
具体地,生成标签属性为所述安全标签属性的富文本标签,作为所述执行富文本标签,包括:根据安全标签属性重写富文本标签,得到所述执行富文本标签。可理解的是,也可以通过对存在威胁的内容进行删除的方式得到执行富文本标签,然而重写富文本标签的方式能够进一步
本实施例中,基于标签属性实现了对富文本标签中存在的安全威胁进行过滤,生成执行富文本标签,通过执行富文本标签保证页面生成过程的安全性。
进一步地,在上述各实施例的基础上,所述从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性,包括:
对于所述第一富文本标签中的任一标签属性,若所述任一标签属性为已知运行安全的标签属性,则将所述任一标签属性作为所述安全标签属性;
和/或,若所述任一标签属性中包括存在安全威胁的字符,则将对所述字符进行处理后得到的标签属性作为所述安全标签属性。
将对所述字符进行处理后得到的标签属性作为所述安全标签属性,具体为,将所述字符进行移除或者转码为不可执行字符后,将得到的标签属性作为所述安全标签属性。
上述的白名单规则可以更为具体地提供如何获取安全标签属性的规则。该规则可以包括将已知运行安全的标签属性作为安全标签属性,和/或将标签属性中包括的存在安全威胁的字符去除后,得到安全标签属性(例如,将“img”标签中的“href”属性中存在安全威胁的字符去除后,得到安全标签属性。其中,“href”属性为“img”标签中提供图片地址的属性)。
可理解的是,每一执行富文本标签中均包含支持所述执行富文本标签封装的内容进行显示的所有标签属性。
本实施中,通过直接获取已知运行安全的标签属性和/或通过对存在威胁的标签实现了对安全标签属性的获取过程,进而能够通过安全标签属性得到执行富文本标签,保证生成显示页面过程的安全性。
举例来说,客户端接收到第一富文本后,可以利用白名单消息解析器对第一富文本进行反转码处理,得到HTML数据,对HTML数据进行HTML标签解析,得到HTML标签数组(即第一富文本标签),然后循环遍历此数组,对每一个HTML标签进行重写,具体可以通过白名单规则进行重写,遍历完成后将数据重新组装为新的HTML数据。
其中,白名单规则可以包括如下至少一种规则:只保留“class”等必要标签属性;对“img”标签中的“href”属性做危险字符移除处理,移除掉“javascript”等可以直接在“href”属性中触发的危险字符。
进一步地,在上述各实施例的基础上,还包括:
获取待上传到服务器的第二富文本;其中,所述第二富文本中包括至少一个第二富文本标签;
对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签;
根据所述传输富文本标签生成第三富文本,将所述第三富文本上传到所述服务器。
对于客户端来说,除了从服务器获取第一富文本进行显示之外,在一些情况下,还需要将用户在客户端通过富文本编辑器编辑的第二富文本上传到服务器进行存储。
其中,将所述第三富文本上传到所述服务器之前,还包括:向所述服务器发送用户登录信息,若接收到所述服务器反馈的对所述用户登录信息验证通过的信息,则将所述第三富文本上传到所述服务器。若接收到验证不通过的信息或者经过预设时长没有接收到验证通过的消息,则返回未登录状态并终止将所述第三富文本上传到所述服务器。
在本实施例中,客户端将第二富文本上传到服务器之前,还需要对第二富文本中的安全威胁进行处理,以保证处理后的第二富文本在传输过程中是安全的,从而保证网络安全。
进一步地,在上述各实施例的基础上,所述对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签,包括:
从所述第二富文本标签中获取存在安全威胁的第一威胁内容;其中,所述第一威胁内容包括如下至少一种:所述第二富文本标签的标签属性中存在安全威胁的标签属性、所述第二富文本标签中存在安全威胁的字符;
对所述第一威胁内容进行转码处理,得到所述传输富文本标签。
其中,所述转码处理的处理方式包括如下至少一种:
对设定字符进行转义、Attribute转码、javascript转码、通过调用函数进行转码、XSS转码。
第一威胁内容可以具体是:标签中出现的设定字符、标签属性中的通用属性、标签属性中的事件属性、事件属性中出现的URL参数、标签属性中的样式属性等等。
实际上本实施例可以设置黑名单规则,通过黑名单规则将第二富文本标签中可能存在的安全威胁进行转码处理,从而保证第二富文本传输过程的安全。
例如,黑名单规则可以至少包括如下规则:
对HTML标签(即第二富文本标签)中&<>"'/等特殊字符做转义处理;
对HTML标签中的通用属性做Attribute编码,其中,除字母、数字、字符以外,使用&#x;16进制格式对ASCII值小于256所有的字符进行转义;
对HTML标签中的事件属性做javascript编码,其中,除字母、数字、字符以外,使用\x+16进制格式来对ASCII值小于256所有的字符,以及不可信的URL参数值进行encodeURIComponent进转义;
对HTML标签中style属性做XSS编码,其中,除了字母、数字、字符以外,使用\XXXXXX格式对ASCII值小于256的所有字符进行转义。
本实施例中,通过对第一威胁内容进行转义得到了传输安全的第三富文本,保证了传输过程的网络安全。
对于参与上述过程的服务器,图2为本实施例提供的应用于服务器的富文本安全处理方法的流程示意图,参见图2,该富文本安全处理方法包括:
步骤201:接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
步骤202:根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
通常情况下服务器中存储了大量的富文本,当客户端发送了请求第一富文本的请求信息后,服务器从存储的富文本中获取与请求信息匹配的第一富文本,将该第一富文本发送给客户端,以在客户端进行显示。
本实施例中,服务器通过存储的富文本提供客户端所需要的第一富文本,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转码之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。
进一步地,在上述实施例的基础上,还包括:
接收由所述客户端上传的第三富文本;所述第三富文本中包括至少一个第三富文本标签;
对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签;
对根据所述存储富文本标签生成的富文本进行存储,以通过存储的富文本向所述客户端提供所述第一富文本。
由于存在一些攻击代码会在服务器存储的过程中进行攻击,因而为了保证服务器的安全性,服务器在接收到第三富文本之后,也需要对第三富文本标签中存在的安全威胁进行处理,进而得到存储安全的第三富文本标签,基于第三富文本标签进行富文本进行存储,通过存储的富文本可以在接收到客户端的请求信息后及时提供客户端所请求的第一富文本。此外,服务器对接收到的富文本进行转码处理,也能防止黑客通过伪造客户端的方式向服务器发送攻击代码对服务器造成攻击。
本实施例中,通过对第三富文本标签中存在的安全威胁进行处理,保证了服务器在存储富文本过程中的安全性。
进一步地,在上述各实施例的基础上,所述对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签,包括:
若所述第三富文本标签中包括存在安全威胁的第二威胁内容,则对所述第二威胁内容进行转码处理,得到所述存储富文本标签;
其中,所述第二威胁内容包括如下至少一种:所述第三富文本标签的标签属性中存在安全威胁的标签属性、所述第三富文本标签中存在安全威胁的字符。
与上述客户端对第二富文本的处理过程类似,本实施例中服务器进行的转码处理的处理方式也可以包括如下至少一种:
对设定字符进行转义、Attribute转码、javascript转码、通过调用函数进行转码、XSS转码。
第二威胁内容可以具体是:标签中出现的设定字符、标签属性中的通用属性、标签属性中的事件属性、事件属性中出现的URL参数、标签属性中的样式属性等等。
实际上本实施例中服务器也可以设置黑名单规则,通过黑名单规则将第三富文本标签中可能存在的安全威胁进行转码处理,从而保证对第三富文本进行存储过程的安全。
例如,黑名单规则可以至少包括如下规则:
对HTML标签(即第二富文本标签)中&<>"'/等特殊字符做转义处理;
对HTML标签中的通用属性做Attribute编码,其中,除字母、数字、字符以外,使用&#x;16进制格式对ASCII值小于256所有的字符进行转义;
对HTML标签中的事件属性做javascript编码,其中,除字母、数字、字符以外,使用\x+16进制格式来对ASCII值小于256所有的字符,以及不可信的URL参数值进行encodeURIComponent进转义;
对HTML标签中style属性做XSS编码,其中,除了字母、数字、字符以外,使用\XXXXXX格式对ASCII值小于256的所有字符进行转义。
本实施例中,通过对第二威胁内容进行转义得到了存储安全的富文本,保证了服务器对富文本进行存储过程的安全性。
图3为本实施例提供的结合客户端和服务器的富文本处理过程示意图,参见图3,该过程可以包括:
步骤A、用户在客户端1通过富文本编辑器编辑输入相关内容,点击保存或发送按钮后,客户端首先通过客户端转码器对用户输入内容进行编码处理,具体可以通过上述的黑名单规则进行编码处理。
步骤B、客户端1通过网络接口请求,发送经过步骤A编码后的用户输入数据给服务端。
步骤C、服务端接收到请求后,首先验证用户登录信息,验证不通过则返回未登录并终止,通过后进入下一步。
步骤D、由于客户端1可以利用伪造请求的方法访问服务端接口,所以即使通过了步骤C中的登录验证后,也需要再次对接受到的数据做转码处理,具体可以通过上述的黑名单规则进行编码处理。
步骤E、客户端2通过网络请求获取步骤D中保存在服务端中的数据,服务端接受到网络请求后,验证登录***,验证不通过则返回未登录并终止,验证通过后返回给客服端数据。
步骤F、客户端2拿到服务端返回的数据后,通过反转码器还原步骤A和步骤D中的编码过程,得到还原编码后的HTML数据。
步骤G、客户端2利用白名单消息解析器,对步骤F中得到的HTML数据做二次处理,得到HTML数据,对HTML数据进行HTML标签解析,得到HTML标签数组,然后循环遍历此数组,对每一个HTML标签进行重写,具体可以通过上述白名单规则进行重写,遍历完成后将数据重新组装为新的HTML数据。
步骤H、客户端2将步骤G中得到的HTML数据渲染到客户端页面。
基于上述过程,本申请提供的方案在前端解析用户输入的富文本数据时,加入了白名单消息解析器,通过对用户输入的富文本数据进行白名单消息解析过滤,只展示安全标签与属性,避免XSS攻击成功,提升***安全性,降低维护成本。
图4为本实施例提供的应用于客户端的富文本安全处理装置的结构框图,参见图4,该富文本安全处理装置包括获取模块401、处理模块402和生成模块403,其中,
获取模块401,用于从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
处理模块402,用于对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
生成模块403,用于根据所述执行富文本标签生成显示页面。
本实施例提供的应用于客户端的富文本安全处理装置适用于上述各实施例提供的应用于客户端的富文本安全处理方法,在此不再赘述。
本发明提供的一种富文本安全处理装置,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转码之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。
根据本发明提供一种富文本安全处理装置,在上述基础上,所述处理模块还用于:
从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性;
生成标签属性为所述安全标签属性的富文本标签,作为所述执行富文本标签。
根据本发明提供一种富文本安全处理装置,在上述基础上,所述处理模块还用于,包括:
对于所述第一富文本标签中的任一标签属性,若所述任一标签属性为已知运行安全的标签属性,则将所述任一标签属性作为所述安全标签属性;
和/或,若所述任一标签属性中包括存在安全威胁的字符,则将对所述字符进行处理后得到的标签属性作为所述安全标签属性。
根据本发明提供一种富文本安全处理装置,在上述基础上,还包括上传模块,所述上传模块用于:
获取待上传到服务器的第二富文本;其中,所述第二富文本中包括至少一个第二富文本标签;
对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签;
根据所述传输富文本标签生成第三富文本,将所述第三富文本上传到所述服务器。
根据本发明提供一种富文本安全处理装置,在上述基础上,所述上传模块还用于:
从所述第二富文本标签中获取存在安全威胁的第一威胁内容;其中,所述第一威胁内容包括如下至少一种:所述第二富文本标签的标签属性中存在安全威胁的标签属性、所述第二富文本标签中存在安全威胁的字符;
对所述第一威胁内容进行转码处理,得到所述传输富文本标签。
图5为本实施例提供的应用于服务器的富文本安全处理装置的结构框图,参见图5,该富文本安全处理装置包括接收模块501和发送模块502,其中,
接收模块501,用于接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
发送模块502,用于根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
本实施例提供的应用于服务器的富文本安全处理装置适用于上述各实施例提供的应用于服务器的富文本安全处理方法,在此不再赘述。
本实施例提供了一种富文本安全处理装置,服务器通过存储的富文本提供客户端所需要的第一富文本,在客户端对第一富文本进行显示时,对第一富文本中存在的安全威胁进行处理,得到执行安全的执行富文本标签,通过执行富文本标签生成显示页面。通过执行富文本标签保证了客户端生成显示页面过程的安全性,即使第一富文本通过黑名单转码之后还存在攻击代码,通过转换后的执行富文本标签也能够保证显示页面生成过程的安全性,大大提高了对基于富文本进行攻击的防御可靠性,消除了客户端显示富文本过程中被攻击的风险。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述接收模块还用于:
接收由所述客户端上传的第三富文本;所述第三富文本中包括至少一个第三富文本标签;
对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签;
对根据所述存储富文本标签生成的富文本进行存储,以通过存储的富文本向所述客户端提供所述第一富文本。
根据本发明提供一种富文本安全处理方法,在上述基础上,所述接收模块还用于:
若所述第三富文本标签中包括存在安全威胁的第二威胁内容,则对所述第二威胁内容进行转码处理,得到所述存储富文本标签;
其中,所述第二威胁内容包括如下至少一种:所述第三富文本标签的标签属性中存在安全威胁的标签属性、所述第三富文本标签中存在安全威胁的字符。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器910,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行富文本安全处理方法,该方法包括:
从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
根据所述执行富文本标签生成显示页面。
和/或,该方法包括:
接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行富文本安全处理方法,该方法包括:
从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
根据所述执行富文本标签生成显示页面。
和/或,该方法包括:
接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行富文本安全处理方法,该方法包括:
从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
根据所述执行富文本标签生成显示页面。
和/或,该方法包括:
接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种富文本安全处理方法,其特征在于,应用于客户端,包括:
从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
根据所述执行富文本标签生成显示页面。
2.根据权利要求1所述的富文本安全处理方法,其特征在于,所述对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签,包括:
从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性;
生成标签属性为所述安全标签属性的富文本标签,作为所述执行富文本标签。
3.根据权利要求2所述的富文本安全处理方法,其特征在于,所述从所述第一富文本标签的标签属性中获取不存在安全威胁的标签属性,作为安全标签属性,包括:
对于所述第一富文本标签中的任一标签属性,若所述任一标签属性为已知运行安全的标签属性,则将所述任一标签属性作为所述安全标签属性;
和/或,若所述任一标签属性中包括存在安全威胁的字符,则将对所述字符进行处理后得到的标签属性作为所述安全标签属性。
4.根据权利要求1所述的富文本安全处理方法,其特征在于,还包括:
获取待上传到服务器的第二富文本;其中,所述第二富文本中包括至少一个第二富文本标签;
对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签;
根据所述传输富文本标签生成第三富文本,将所述第三富文本上传到所述服务器。
5.根据权利要求4所述的富文本安全处理方法,其特征在于,所述对所述第二富文本标签中存在的安全威胁进行处理,得到传输安全的传输富文本标签,包括:
从所述第二富文本标签中获取存在安全威胁的第一威胁内容;其中,所述第一威胁内容包括如下至少一种:所述第二富文本标签的标签属性中存在安全威胁的标签属性、所述第二富文本标签中存在安全威胁的字符;
对所述第一威胁内容进行转码处理,得到所述传输富文本标签。
6.一种富文本安全处理方法,其特征在于,应用于服务器,包括:
接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
7.根据权利要求6所述的富文本安全处理方法,其特征在于,还包括:
接收由所述客户端上传的第三富文本;所述第三富文本中包括至少一个第三富文本标签;
对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签;
对根据所述存储富文本标签生成的富文本进行存储,以通过存储的富文本向所述客户端提供所述第一富文本。
8.根据权利要求7所述的富文本安全处理方法,其特征在于,所述对所述第三富文本标签中存在的安全威胁进行处理,得到存储安全的存储富文本标签,包括:
若所述第三富文本标签中包括存在安全威胁的第二威胁内容,则对所述第二威胁内容进行转码处理,得到所述存储富文本标签;
其中,所述第二威胁内容包括如下至少一种:所述第三富文本标签的标签属性中存在安全威胁的标签属性、所述第三富文本标签中存在安全威胁的字符。
9.一种富文本安全处理装置,其特征在于,应用于客户端,包括:
获取模块,用于从服务器获取待显示的第一富文本;其中,所述第一富文本中包括至少一个第一富文本标签;
处理模块,用于对所述第一富文本标签中存在的安全威胁进行处理,得到执行安全的执行富文本标签;
生成模块,用于根据所述执行富文本标签生成显示页面。
10.一种富文本安全处理装置,其特征在于,应用于服务器,包括:
接收模块,用于接收客户端发送的请求信息;所述请求信息用于请求待显示的第一富文本;
发送模块,用于根据所述请求信息从存储的富文本中获取所述第一富文本,将所述第一富文本发送到所述客户端。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的富文本安全处理方法的步骤。
12.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的富文本安全处理方法的步骤。
CN202110226788.8A 2021-03-01 2021-03-01 富文本安全处理方法、装置、电子设备和存储介质 Pending CN112966265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110226788.8A CN112966265A (zh) 2021-03-01 2021-03-01 富文本安全处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110226788.8A CN112966265A (zh) 2021-03-01 2021-03-01 富文本安全处理方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN112966265A true CN112966265A (zh) 2021-06-15

Family

ID=76276114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110226788.8A Pending CN112966265A (zh) 2021-03-01 2021-03-01 富文本安全处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112966265A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297502A (zh) * 2021-07-23 2021-08-24 浙江新华移动传媒股份有限公司 一种富文本监听过滤方法及装置
CN114048708A (zh) * 2022-01-13 2022-02-15 山东捷瑞数字科技股份有限公司 一种基于富文本编辑器的自动排版方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034700A (zh) * 2012-12-05 2013-04-10 北京奇虎科技有限公司 富文本内容的处理方法及***
CN111274760A (zh) * 2020-01-09 2020-06-12 北京字节跳动网络技术有限公司 富文本数据处理方法、装置、电子设备及计算机存储介质
CN111444683A (zh) * 2018-12-28 2020-07-24 北京奇虎科技有限公司 富文本处理方法、装置、计算设备及计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034700A (zh) * 2012-12-05 2013-04-10 北京奇虎科技有限公司 富文本内容的处理方法及***
CN111444683A (zh) * 2018-12-28 2020-07-24 北京奇虎科技有限公司 富文本处理方法、装置、计算设备及计算机存储介质
CN111274760A (zh) * 2020-01-09 2020-06-12 北京字节跳动网络技术有限公司 富文本数据处理方法、装置、电子设备及计算机存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘达;: "通过HTML编码防御XSS跨站脚本攻击的研究", 网络空间安全, no. 06 *
李杨;周婧姝;杨庆;: "XSS攻击机制和防御技术探索", 中国新通信, no. 19 *
葛强;李俊;胡永权;: "XSS攻击机制及防御技术浅谈", 计算机时代, no. 10 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297502A (zh) * 2021-07-23 2021-08-24 浙江新华移动传媒股份有限公司 一种富文本监听过滤方法及装置
CN114048708A (zh) * 2022-01-13 2022-02-15 山东捷瑞数字科技股份有限公司 一种基于富文本编辑器的自动排版方法和***

Similar Documents

Publication Publication Date Title
US7926112B2 (en) System for protecting a computing system from harmful active content in documents
ES2882125T3 (es) Sistema y procedimiento para identificar ataques en Internet
CN101610268B (zh) 一种关键字过滤的实现方法和设备
CN112966265A (zh) 富文本安全处理方法、装置、电子设备和存储介质
CN109862021B (zh) 威胁情报的获取方法及装置
US9009821B2 (en) Injection attack mitigation using context sensitive encoding of injected input
EP2542996A2 (en) Input parameter filtering for web application security
EP3021550A1 (en) System and method for identifying internet attacks
Gebre et al. A robust defense against content-sniffing xss attacks
CN112307520A (zh) 电子***添加和验证方法及***
CN112182614A (zh) 一种动态Web应用防护***
EP2065824A1 (en) HTML filter for prevention of cross site scripting attacks
CN113343066A (zh) 页面处理方法、装置、电子设备和存储介质
CN112579958B (zh) 网页转换方法、装置、计算机设备及可读存储介质
CN112616056B (zh) 一种基于水印监听的上报告警方法及装置
CN108462749B (zh) 一种Web应用处理方法、装置及***
CN110417746A (zh) 跨站脚本攻击防御方法、装置、设备及存储介质
CN108287874B (zh) 一种db2数据库管理方法及装置
CN103577188B (zh) 防御跨站脚本攻击的方法及装置
CN110708308A (zh) 一种面向云计算环境的跨站脚本漏洞挖掘方法及***
CN112287349A (zh) 安全漏洞检测方法及服务端
CN114329459A (zh) 浏览器防护方法及装置
CN109491647A (zh) 一种基于编程语言的在线预防攻击方法及电子设备
CN114500113A (zh) 一种js防护方法、***、电子设备及介质
CN114168950B (zh) 一种跨站脚本攻击漏洞的修复方法、装置、设备及产品

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
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co., Ltd

CB02 Change of applicant information