[发明专利]一种基于细粒度权限控制的SQL注入检测系统及其方法有效
申请号: | 201710848818.2 | 申请日: | 2017-09-20 |
公开(公告)号: | CN107832618B | 公开(公告)日: | 2019-12-24 |
发明(设计)人: | 罗蛟;保永武;叶猛 | 申请(专利权)人: | 武汉虹旭信息技术有限责任公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/55;G06F21/60;G06F21/62 |
代理公司: | 42001 武汉宇晨专利事务所 | 代理人: | 黄瑞棠 |
地址: | 430205 湖北省武汉市江*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 细粒度 权限 控制 sql 注入 检测 系统 及其 方法 | ||
1.一种基于细粒度权限控制的SQL注入检测方法,包括下述步骤:
①对于Web应用中涉及SQL语句执行的每个URL,为URL对应的每个SQL语句分配业务代码,生成业务代码表;
②对每个业务代码,分析其对应的SQL语句,生成对应的权限控制表;
③对于用户提交的SQL语句,提取权限信息,查询权限控制表,进行权限检测,如果存在越权访问,则确认存在SQL注入漏洞;
其特征在于:
所述的步骤①:
A、对于Web应用中涉及SQL语句执行的每个URL,为URL对应的每个SQL语句分配业务代码,生成业务代码表;
B、所述业务代码是Web应用中SQL语句的标识,其分配具有唯一性;在Web应用的所有URL对应的所有SQL语句中,单个业务代码对应着有且只有一条SQL语句;
C、所述业务代码表,是一种数据存储结构;包括业务代码、URL、SQL语句模板和业务代码识别标识;
D、所述的业务代码识别标识,是一个或多个关键词,可以从用户提交的URL和HTTP消息中提取,通过这些关键词可以关联到对应的业务代码和SQL语句;
所述的步骤③:
Ⅰ、对于用户提交的SQL语句,提取权限信息,查询权限控制表,进行权限检测,如果存在越权访问,则确认存在SQL注入漏洞;
Ⅱ、权限访问信息包括以下信息:业务代码和操作的数据库名称集合;对于操作的数据库名称集合中的每一个数据库,权限访问信息包括以下信息:操作的表名称集合和操作的函数列表;对于操作的表名称集合中的每一个数据库表,权限访问信息包括以下信息:操作的字段名称列表和操作列表;
Ⅲ、提取权限访问信息,可以通过语法分析实现;对SQL语句进行词法分析和语法分析,获取SQL语句对应的权限访问信息;
Ⅳ、权限检测,可以通过数据库实现;根据权限控制表,在数据库中为每个业务代码预先分配一个数据库用户和相应的权限;用户提交SQL语句后,以业务代码对应的预分配数据库用户的身份执行SQL语句;由于预分配数据库用户的权限已被限制,如果存在越权访问,则操作会被数据库检测到。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹旭信息技术有限责任公司,未经武汉虹旭信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710848818.2/1.html,转载请声明来源钻瓜专利网。