[发明专利]一种前端网页输入约束提取方法和装置有效
申请号: | 201910731804.1 | 申请日: | 2019-08-08 |
公开(公告)号: | CN110618809B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 张颖;黄杨洋;黄罡;梅宏 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 江黎 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 前端 网页 输入 约束 提取 方法 装置 | ||
本发明涉及一种前端网页输入约束提取方法和装置。该方法包括:标记前端网页的所有Javascript代码中包含出错信息的函数,作为目标函数;对标记的目标函数进行数据流分析,并根据数据流分析结果进行代码切片;将获得的切片代码与前端网页输入相匹配,提取出前端网页输入约束相关的Javascript验证代码。本发明能够从前端网页中提取Javascript验证代码,辅助Web应用服务化开发,从而保障Web应用后端数据安全;与现有静态分析方案相比,本发明通过以函数为单位缩小了分析范围,从而使本发明能够分析大型网站;与现有动态分析相比,本发明无需开发人员提供输入测试样例。
技术领域
本发明属于网络技术、信息安全技术领域,具体涉及一种前端网页输入约束提取方法和装置。
背景技术
Web应用一般采用前后端分离设计,前端网页负责与用户交互,后端进行业务逻辑处理(如数据验证,数据库读写等)。但在实践中,由于应用与后端交互存在延迟,一般会在前端验证网页输入数据,典型如表单输入数据的验证。如今大型Web应用越来越多开放api接口,Web应用趋向于服务化,用户可以通过接口直接调用后端业务逻辑处理,不再经过传前端验证的步骤,这给Web应用后端数据安全带来了挑战。
Web应用前端即网页主要是通过HTML和Javascript语言实现。文档对象模型(DOM)是HTML的编程接口,它提供对文档的结构化描述,并定义了程序对该结构的访问方式。前端网页输入约束(Client-side input validation)是指使用Javascript在网页前端对用户输入数据进行判断和处理,对不符合要求的输入进行错误提示。Javascript通过DOM获取HTML中用户的输入,经过逻辑判断与处理,动态地改变网页地结构,样式和内容。因此提取前端网页输入约束主要关注于如何提取Javascript代码验证逻辑,并与前端网页输入相关联。现有的分析思路主要是通过数据流分析,跟踪需要关注的前端输入变量流向。现有的数据流分析方案主要有两种,一种是基于静态单赋值的静态分析,另一种是利用代码插桩动态跟踪所关注的前端网页输入数据。
第一种方案是使用静态单赋值,将原程序语句转换成一种中间形式,以使整个程序控制流图规模变小,从而使全程序的静态分析成为可能。但目前Web应用通常包含大量库,如JQuery等,当前的静态分析工具无法完整分析这种包含大型库的Web应用。
第二种方案是利用代码插桩动态跟踪所关注的数据。这种方案通常需要触发相关的Javascript代码,通过调用堆栈定位相关验证代码位置。如果希望找出当前页面所有输入相关联的约束代码,开发人员需要花费大量时间提供高覆盖率的测试样例。
发明内容
本发明旨在提供一种前端网页输入约束提取方法和装置,从前端网页中提取Javascript验证代码,辅助Web应用服务化开发,从而保障Web应用后端数据安全。
本发明采用的技术方案如下:
一种前端网页输入约束提取方法,包括以下步骤:
标记前端网页的所有Javascript代码中包含出错信息的函数,作为目标函数;
对标记的目标函数进行数据流分析,并根据数据流分析结果进行代码切片;
将获得的切片代码与前端网页输入相匹配,提取出前端网页输入约束相关的Javascript验证代码。
进一步地,标记所述目标函数的过程包括:
配置出错信息的特征关键字;
将输入Javascript代码转换成抽象语法树,然后按语句遍历抽象语法树;在遍历过程中对语句包含的对象变量名、对象方法名、函数调用名、函数参数名、函数参数常量字符串与所述特征关键字进行匹配,若语句包含所述特征关键字将被标记为潜在的出错函数,即目标函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910731804.1/2.html,转载请声明来源钻瓜专利网。