【技术实现步骤摘要】
SQL注入攻击的检测方法及系统、电子设备及存储介质
[0001]本专利技术涉及信息安全
,特别涉及一种SQL注入攻击的检测方法及系统、电子设备及存储介质。
技术介绍
[0002]SQL(Structured Query Language)即结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL注入是指攻击者通过恶意查询语句来获取服务器数据库信息的攻击行为,可以绕开身份认证、窃取用户信息、篡改数据内容等,引发严重后果,具有攻击危害大、类型多、变异快、攻击隐蔽等特点。当前,SQL注入已经成为Web应用程序的首要威胁,SQL注入检测因此成为Web安全领域的研究重点。
[0003]传统的SQL注入检测方法是基于规则、正则表达式或者特定的检测模式,需要先分析特定注入产生的原因,再制定相应的检测规则。现有技术中提出了一种基于语法树特征匹配的SQL注入检测模型,该模型在已知数据库源代码的情况下,建立当前程序数据库代码的语法特征树,从中提取出合法的SQL语句和语法树模型,当数据库 ...
【技术保护点】
【技术特征摘要】
1.一种SQL注入攻击的检测方法,其特征在于,包括:基于用户输入的字符串,构造SQL语句;将所述SQL语句输入词法分析器,判断所述SQL语句是否匹配语法树;其中,所述词法分析器基于预设SQL语法的第一类关键字构建形成;所述语法树基于解析器生成器的语法规则,收集预设SQL语法的相应SQL注入语句构建形成;当所述SQL语句不匹配语法树,则识别出所述用户输入的字符串不构成SQL注入攻击;当所述SQL有语句匹配语法树,将用户输入的字符串输入词法分析器,基于所述用户输入的字符串是否包含与SQL注入语句相关的第二类关键字的判断结果,识别出所述用户输入的字符串是否构成SQL注入攻击。2.根据权利要求1所述的SQL注入攻击的检测方法,其特征在于,所述基于用户输入的字符串,构造SQL语句具体包括:基于用户输入的字符串,给每个词的属性进行整数编码,并将每个词的信息保存,生成SQL语句。3.根据权利要求1所述的SQL注入攻击的检测方法,其特征在于,还包括:当所述预设SQL语法更新,所述词法分析器基于更新的预设SQL语法进行更新,所述预设SQL语法包括SQL Server、MySQL、Oracle、PostgreSQL中的至少一种。4.根据权利要求1所述的SQL注入攻击的检测方法,其特征在于,所述基于所述用户输入的字符串是否包含与SQL注入语句相关的第二关键字的判断结果,识别出所述用户输入的字符串是否构成SQL注入攻击具体包括:当所述基于所述用户输入的字符串是否包含与SQL注入语句相关的第二关键字的判断结果为是,则识别出所述用户输入的字符串构成SQL注入攻击;当所述基于所述用户输入的字符串是否包含与SQL注入语句相关的第二关键字的判断结果为否,则识别出所述用户输入的字符串不构成SQL注入攻击。5.一种SQL注入攻击的检测系统,其特征在于,包括:SQL语句构建模块,用于基于用户输入的字符串,构造SQL语句;匹配模块,用于将所述SQL语句输入词法分析器,判断所述SQL语句是否匹配语法树;其中,所述词法分析器基于预设SQL语法的第一类关键字构建...
【专利技术属性】
技术研发人员:严仑,赵述芳,张坤,
申请(专利权)人:北京中科网威信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。