一种web应用防护方法、系统及计算机可读存储介质与流程

文档序号:28425924发布日期:2022-01-12 00:10阅读:63来源:国知局
一种web应用防护方法、系统及计算机可读存储介质与流程

1.本发明涉及web应用防护技术领域,尤其涉及一种web应用防护方法、系统及计算机可读存储介质。


背景技术:

2.互联网日新月异,web攻击事件层出不穷,攻击手段也越来隐蔽。随着网络的普及,web应用和人们的生活紧密联系在一起。web应用后端对用户的暴露面主要集中在参数中,攻击者往往通过精心构造参数,在参数中添加恶意代码来达到攻击目的。目前通过编码和黑白名单等方式对参数进行校验能起到一定的防护效果。
3.然而,通过编码方式解决参数中恶意代码问题,只能处理一些含特殊字符的恶意代码,防护不够全面。对于黑白名单,如果设置的全面,理论上可以防御所有的恶意代码,但是实际操作中,不可能对所有恶意代码的特征代码搜集全面,也不能实现全面防护。


技术实现要素:

4.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种web应用防护方法、系统及计算机可读存储介质,用以解决现有的web应用防护方法对web应用的防护不够全面的问题。
5.第一方面,本发明提供一种web应用防护方法,应用于包括前端和后端的系统,所述方法包括:
6.所述前端向所述后端发送数据请求,所述数据请求携带统一资源定位器url和参数信息;
7.所述后端接收到所述数据请求后,对所述参数信息进行解析,得到对应的参数值;
8.所述后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。
9.优选地,所述后端根据所述参数值生成对应的参数图片,具体包括:
10.所述后端判断所述参数值是否需要渲染;
11.若是,则所述后端获取所述参数值对应的渲染样式,并根据所述渲染样式进行渲染,生成所述参数图片;
12.若否,则所述后端根据预先设置的默认样式生成所述参数图片。
13.优选地,所述后端根据所述参数值生成对应的参数图片之后,所述方法还包括:
14.所述后端判断所述参数值是否包含敏感数据;
15.若是,则所述后端在所述参数图片中添加固定盐值;
16.所述将所述参数图片保存至预设的数据库中,具体包括:
17.将添加了所述固定盐值的参数图片保存至所述预设的数据库中。
18.优选地,所述将所述参数图片保存至预设的数据库之后,所述方法还包括:
19.所述前端向所述后端发送参数显示请求;
20.所述后端根据所述参数显示请求向所述前端发送所述参数图片;
21.所述前端接收所述参数图片并在预定的位置显示所述参数图片;
22.其中,所述参数图片为动态图片或静态图片。
23.优选地,所述将所述参数图片保存至预设的数据库中,具体包括:
24.将所述参数图片以矩阵的形式保存至所述预设的数据库中。
25.第二方面,本发明提供一种web应用防护系统,包括前端和后端;
26.所述前端用于向所述后端发送数据请求,所述数据请求携带统一资源定位器url和参数信息;
27.所述后端用于接收到所述数据请求后,对所述参数信息进行解析,得到对应的参数值;
28.所述后端还用于根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。
29.优选地,所述后端还用于判断所述参数值是否需要渲染,并在判断出所述参数值需要渲染时,获取所述参数值对应的渲染样式,并根据所述渲染样式进行渲染,生成所述参数图片;以及,在判断出所述参数值不需要渲染时,根据预先设置的默认样式生成所述参数图片。
30.优选地,所述后端还用于判断所述参数值是否包含敏感数据,并在判断出所述参数值包含敏感数据时,在所述参数图片中添加固定盐值;以及,将添加了所述固定盐值的参数图片保存至所述预设的数据库中。
31.第三方面,本发明提供一种web应用防护系统,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面所述的web应用防护方法。
32.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的web应用防护方法。
33.本发明提供的web应用防护方法、系统及计算机可读存储介质,首先由前端向后端发送数据请求,所述数据请求携带url和参数信息,然后后端根据接收到的所述数据请求对所述参数信息进行解析,得到对应的参数值,最后所述后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。本发明通过将参数值进行图形化,可以避免因参数中插入恶意代码而造成的web应用风险,能够有效地防御跨站脚本、sql注入、文件上传、暴力破解等攻击,提高了web应用的安全性,实现了对web应用的全面防护,解决了现有的web应用防护方法对web应用的防护不够全面的问题。
附图说明
34.图1:为本发明实施例1的一种web应用防护方法的流程图;
35.图2:为本发明实施例2的一种web应用防护系统的结构示意图;
36.图3:为本发明实施例3的一种web应用防护系统的结构示意图。
具体实施方式
37.为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
38.可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
39.可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
40.可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
41.可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
42.可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
43.可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
44.可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
45.实施例1:
46.本实施例提供一种web应用防护方法,如图1所示,应用于包括前端和后端的系统,所述方法包括:
47.步骤s102:前端向后端发送数据请求,所述数据请求携带url(uniform resource locator,统一资源定位器)和参数信息。
48.在本实施例中,前端是在web应用中用户可以看到并能与之交互的那一部分,包括web页面的结构、web的外观视觉表现以及web层面的交互实现等等,后端更多的是通过与数据库交互来处理相应的业务逻辑,主要包括:功能的实现,数据的存储和访问等等。当用户访问web应用的页面时,在页面对应的输入框中输入参数值,然后点击对应的提交按钮执行请求操作,此时,前端向后端发送数据请求,该数据请求携带请求所需的url和参数信息,该参数信息具体可以包括参数名和参数值。
49.步骤s104:后端接收到所述数据请求后,对所述参数信息进行解析,得到对应的参数值。
50.在本实施例中,后端接收到数据请求后,对所述参数信息进行解析,并从解析结果中得到对应的参数值。
51.步骤s106:后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。
52.在本实施例中,为了防止攻击者通过精心构造的参数值进行攻击,后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中,从而能够对web应
用起到很好的防护作用。以用户留言或者评论的场景为例,在上网中,经常会遇到用户留言或者评论区的场景,正常的流程是用户在评论区评论后,进行提交操作,后端将评论内容(即参数值)存储在数据库中,当再次访问此页面时,后端从数据库中将评论内容取出发送给前端,由前端回显在页面上。此时,如果攻击者在评论内容中写入了恶意的脚本,在页面回显过程中浏览器会执行恶意脚本,由于评论内容对所有用户都是可见的,因此,每个用户访问评论时都会执行这个恶意代码,进而会造成大范围的攻击,这是一个比较典型的xss攻击场景。但是通过本发明将评论内容转换为图片时,无论在评论区输入什么评论内容,浏览器都将无法执行恶意脚本,从而保证了web应用的安全。
53.可选地,所述后端根据所述参数值生成对应的参数图片,具体可以包括:
54.所述后端判断所述参数值是否需要渲染;
55.若是,则所述后端获取所述参数值对应的渲染样式,并根据所述渲染样式进行渲染,生成所述参数图片;
56.若否,则所述后端根据预先设置的默认样式生成所述参数图片。
57.在本实施例中,为了增强页面的美观性,可以根据前端要展示的样式生成对应的参数图片,该参数图片可以是动态图片,也可以是静态的图片,从而当需要将参数值回显到页面上时,将渲染处理后得到的参数图片展示给用户,提升了用户的视觉体验。具体地,后端先判断所述参数值是否需要渲染,具体可以根据参数名或者是否具有相关联的渲染样式判断该参数值是否需要渲染,若后端判断出该参数值需要渲染,则后端可以先获取所述参数值对应的渲染样式,该渲染样式可以事先由前端设计人员写成文档,然后后端根据文档中的渲染样式进行渲染,从而生成对应的参数图片,渲染样式比如可以是字体加粗,颜色标红等等。若后端判断出该参数值不需要渲染,则后端根据预先设置的默认样式生成所述参数图片,比如默认样式生成的参数图片可以是白底黑字的图片。
58.可选地,所述后端根据所述参数值生成对应的参数图片之后,所述方法还可以包括:
59.所述后端判断所述参数值是否包含敏感数据;
60.若是,则所述后端在所述参数图片中添加固定盐值;
61.所述将所述参数图片保存至预设的数据库中,具体可以包括:
62.将添加了所述固定盐值的参数图片保存至所述预设的数据库中。
63.在本实施例中,为了保证数据的安全性,以及为了便于后续的去盐值操作,可以在包含敏感数据的参数值所对应的参数图片中添加固定盐值。具体地,后端先判断所述参数值是否包含敏感数据,具体可以根据关键字或参数名进行判断,比如该参数值中包含密码、身份证号码等关键字,则判断所述参数值包含敏感数据,需要进行加密处理,此时,后端在所述参数图片中添加固定盐值,并存储于数据库中。
64.在本实施例中,当需要显示该参数值时,前端向后端发送参数显示请求,所述后端根据所述参数显示请求向所述前端发送所述参数图片,所述前端接收到所述参数图片后在预定的位置进行显示。若该参数图片为加了固定盐值的参数图片,则后端先进行去盐值处理,以还原出未添加固定盐值前的参数图片,再将该图片发送前端。
65.在本实施例中,通过默认样式生成的参数图片具体可以是灰度图片,通过渲染样式生成的参数图片具体可以是彩色图片,各样式生成的参数图片具体可以以矩阵的形式保
存在预设的数据库中,比如灰度图片,对应参数值为数字1,则对应的矩阵可以如下所示:
[0066][0067]
其中,矩阵的行对应参数图像的高(单位为像素),矩阵的列对应参数图像的宽(单位为像素),矩阵的元素对应参数图像的像素,矩阵元素的值就是像素的灰度值。
[0068]
在本实施例中,若该参数值在数据库中对应的字段被设置为主键,比如参数值是用户名(admin),后端将用户名生成图片存入数据库中,该参数图片即作为键值图片,并以矩阵的形式存储,此时,若前端想查询admin这个用户,前端将admin发送给后端,后端将参数值admin转化为对应的参数图片,由opencv或者其他图片处理插件转为图片矩阵,然后遍历数据库中所有的键值图片,将对应的矩阵值做对比即可查询到admin对应的信息。
[0069]
本发明实施例提供的web应用防护方法,首先由前端向后端发送数据请求,所述数据请求携带url和参数信息,然后后端根据接收到的所述数据请求对所述参数信息进行解析,得到对应的参数值,最后所述后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。本发明通过将参数值进行图形化,可以避免因参数中插入恶意代码而造成的web应用风险,能够有效地防御跨站脚本、sql注入、文件上传、暴力破解等攻击,提高了web应用的安全性,实现了对web应用的全面防护,解决了现有的web应用防护方法对web应用的防护不够全面的问题。
[0070]
实施例2:
[0071]
如图2所示,本实施例提供一种web应用防护系统,包括前端12和后端14;
[0072]
所述前端12用于向所述后端14发送数据请求,所述数据请求携带统一资源定位器url和参数信息;
[0073]
所述后端14用于接收到所述数据请求后,对所述参数信息进行解析,得到对应的参数值;
[0074]
所述后端14还用于根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。
[0075]
可选地,所述后端14还用于判断所述参数值是否需要渲染,并在判断出所述参数值需要渲染时,获取所述参数值对应的渲染样式,并根据所述渲染样式进行渲染,生成所述参数图片;以及,在判断出所述参数值不需要渲染时,根据预先设置的默认样式生成所述参数图片。
[0076]
可选地,所述后端14还用于判断所述参数值是否包含敏感数据,并在判断出所述参数值包含敏感数据时,在所述参数图片中添加固定盐值;以及,将添加了所述固定盐值的参数图片保存至所述预设的数据库中。
[0077]
可选地,所述前端12还用于向所述后端14发送参数显示请求;
[0078]
所述后端14还用于根据所述参数显示请求向所述前端12发送所述参数图片;
[0079]
所述前端12还用于接收所述参数图片并在预定的位置显示所述参数图片;
[0080]
其中,所述参数图片为动态图片或静态图片。
[0081]
可选地,所述后端14具体用于根据所述参数值生成对应的参数图片,并将所述参数图片以矩阵的形式保存至所述预设的数据库中。
[0082]
实施例3:
[0083]
如图3所示,本实施例提供一种web应用防护系统,包括存储器22和处理器24,存储器22中存储有计算机程序,处理器24被设置为运行所述计算机程序以执行实施例1中的web应用防护方法。
[0084]
其中,存储器22与处理器24连接,存储器22可采用闪存或只读存储器或其他存储器,处理器24可采用中央处理器或单片机。
[0085]
实施例4:
[0086]
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1中的web应用防护方法。
[0087]
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0088]
实施例2至实施例4提供的web应用防护系统及计算机可读存储介质,首先由前端向后端发送数据请求,所述数据请求携带url和参数信息,然后后端根据接收到的所述数据请求对所述参数信息进行解析,得到对应的参数值,最后所述后端根据所述参数值生成对应的参数图片,并将所述参数图片保存至预设的数据库中。本发明通过将参数值进行图形化,可以避免因参数中插入恶意代码而造成的web应用风险,能够有效地防御跨站脚本、sql注入、文件上传、暴力破解等攻击,提高了web应用的安全性,实现了对web应用的全面防护,解决了现有的web应用防护方法对web应用的防护不够全面的问题。
[0089]
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1