CN106446677A - 一种XPath注入漏洞检测及防御系统及方法 - Google Patents

一种XPath注入漏洞检测及防御系统及方法 Download PDF

Info

Publication number
CN106446677A
CN106446677A CN201610835276.0A CN201610835276A CN106446677A CN 106446677 A CN106446677 A CN 106446677A CN 201610835276 A CN201610835276 A CN 201610835276A CN 106446677 A CN106446677 A CN 106446677A
Authority
CN
China
Prior art keywords
xpath
injection
module
target data
detection
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
CN201610835276.0A
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.)
ZHONGKE INFORMATION SECURITY COMMON TECHNOLOGY NATIONAL ENGINEERING RESEARCH CENTER Co Ltd
Original Assignee
ZHONGKE INFORMATION SECURITY COMMON TECHNOLOGY NATIONAL ENGINEERING RESEARCH CENTER 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 ZHONGKE INFORMATION SECURITY COMMON TECHNOLOGY NATIONAL ENGINEERING RESEARCH CENTER Co Ltd filed Critical ZHONGKE INFORMATION SECURITY COMMON TECHNOLOGY NATIONAL ENGINEERING RESEARCH CENTER Co Ltd
Priority to CN201610835276.0A priority Critical patent/CN106446677A/zh
Publication of CN106446677A publication Critical patent/CN106446677A/zh
Pending legal-status Critical Current

Links

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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种XPath注入漏洞检测及防御系统包括:XPath注入特征库建立模块、XPath语句分析模块、匹配模块及阻断模块,XPath注入特征库建立模块主要是基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段规则库;XPath语句分析模块主要针对XPath注入攻击目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段;匹配模块主要将从所述目标数据中获取的所有XPath语法元素及XPath语法字段与XPath注入特征库建立模块中的规则描述进行匹配,如果匹配成功,则确定存在XPath注入攻击;阻断模块阻断XPath注入攻击请求。本发明的有益效果在于:本发明所述方案能有效识别XPath注入攻击并阻断XPath注入攻击,有效保护用户的数据安全。

Description

一种XPath注入漏洞检测及防御系统及方法
技术领域
本发明涉及网络信息安全领域,尤其涉及一种XPath注入漏洞检测及防御系统及方法。
背景技术
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。
现代互联网日新月异的发展中,各类web应用系统都或多或少的应用到XML技术,由此开始出现了针对XML数据信息的XPath注入攻击技术。注入攻击是指利用系统没有对其输入进行强制检查,导致向计算机系统中注入代码的技术。注入代码的目的通常是绕过或修改程序的最初目标功能,如果被绕过的功能涉及系统安全,那么结果可能是灾难性的。在XML信息被大量使用,其数据的安全性显得非常重要,研究XPath的注入攻击防御技术是必要的。
XPath注入攻击是指利用XPath 解析器的松散输入和容错特性,在程序没有验证用户查询输入的情况下,能够在URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。XPath注入攻击是针对Web服务应用的攻击方法,它允许攻击者在事先不知道XPath查询相关知识的情况下,可以导致逻辑错误和认证绕过,获取后端XML文件内容。
由于XML没有用户或者权限的概念,因此可以对其数据库、表、行或者列执行细粒度的访问控制,这意味着整个数据库都可以被用户读取,在应用中属于很严重的安全漏洞。
发明内容
本发明的目的是针对现有技术存在的缺陷,提出一种XPath注入漏洞检测及防御方案,该方案能有效识别XPath注入攻击并阻断XPath注入攻击,有效保护用户的数据安全。
本发明提出了一种XPath注入漏洞检测及防御方法,具体包括:
步骤一:基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段的XPath注入特征库 ;
步骤二:获取XPath注入攻击目标数据,对所述目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
步骤三:将所述目标数据中包含的所有XPath语法元素及XPath语法字段与所述XPath注入特征库进行匹配,如果匹配成功,则确定存在XPath注入攻击;
步骤四:阻断http请求。
本发明还提供了一种XPath注入漏洞检测及防御系统,具体包括:XPath注入特征库建立模块、XPath语句分析模块、匹配模块及阻断模块,其中,
所述XPath注入特征库建立模块主要是基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段规则库;
所述XPath语句分析模块主要针对XPath注入攻击目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
所述匹配模块主要将从所述目标数据中获取的所有XPath语法元素及XPath语法字段与XPath注入特征库建立模块中的规则描述进行匹配,如果匹配成功,则确定存在XPath注入攻击;
所述阻断模块主要用于阻断XPath注入攻击请求,当确定存在XPath注入攻击时,该工具将会阻断该http请求,当来之同一ip地址3次类似攻击请求,则将该ip加入黑名单。
进一步的,所述的一种XPath注入漏洞检测及防御系统还包括权重设置模块,所述权重设置模块主要为所述XPath注入特征库中XPath语法元素及XPath语法字段规则设置权重;
进一步的,所述的一种XPath注入漏洞检测及防御系统还包括提取及判断模块,所述提取及判断模块主要用于提取http请求中的XPath注入攻击目标数据,并将XPath注入攻击目标数据与所述XPath注入特征库中规则进行匹配分析,同时确定XPath注入攻击目标数据的最大权重值,当所述最大权重值大于或等于权重阈值时,这说明该http请求含有XPath注入攻击。
进一步的,所述XPath注入攻击目标数据是http请求数据包中post消息或get消息。
进一步的,所述XPath注入特征库所包含的规则是由XPath语法元素及XPath语法字段构成的关键字组成。
进一步的,所述XPath语法元素包括标识符、函数、运算符、标签、注释及保留关键字。
进一步的,所述XPath语法字段包括字段、条件、命令。
本发明的有益效果在于:①对http请求进行XPath词法语义分析,得到XPath语法元素及XPath语法字段,再将这些XPath语句解析结果与特征库进行模式匹配,由于不是对数据进行字符比对,而是针对特定的XPath语句解析结果进行有针对性的比对,因此提高了识别效率;②对数据所包含的所有XPath语句都进行了分析提取,从而可尽量减少漏报;③针对http的post请求,特别建立了由大数据分析得到的XPath语句构成的特征库,并给每个条post相关的特征赋予权重值,对于post请求,将解析的XPath语句与XPath注入特征库中规则描述符匹配分析,得到一个最大权重值,当其大于或等于权重阈值时,这说明该http请求含有XPath注入攻击,该方法能最大限度的识别XPath注入攻击并阻断XPath注入攻击,有效保护用户的数据安全。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
一种XPath注入漏洞检测及防御方法,具体包括:
步骤一:基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段的XPath注入特征库 ;
步骤二:获取XPath注入攻击目标数据,对所述目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
步骤三:将所述目标数据中包含的所有XPath语法元素及XPath语法字段与所述XPath注入特征库进行匹配,如果匹配成功,则确定存在XPath注入攻击;
步骤四:阻断http请求。
一种XPath注入漏洞检测及防御系统,具体包括:XPath注入特征库建立模块、XPath语句分析模块、匹配模块及阻断模块,其中,
所述XPath注入特征库建立模块主要是基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段规则库;
所述XPath语句分析模块主要针对XPath注入攻击目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
所述匹配模块主要将从所述目标数据中获取的所有XPath语法元素及XPath语法字段与XPath注入特征库建立模块中的规则描述进行匹配,如果匹配成功,则确定存在XPath注入攻击;
所述阻断模块主要用于阻断XPath注入攻击请求,当确定存在XPath注入攻击时,该工具将会阻断该http请求,当来之同一ip地址3次类似攻击请求,则将该ip加入黑名单。
所述的一种XPath注入漏洞检测及防御系统还包括权重设置模块,所述权重设置模块主要为所述XPath注入特征库中XPath语法元素及XPath语法字段规则设置权重;
所述的一种XPath注入漏洞检测及防御系统还包括提取及判断模块,所述提取及判断模块主要用于提取http请求中的XPath注入攻击目标数据,并将XPath注入攻击目标数据与所述XPath注入特征库中规则进行匹配分析,同时确定XPath注入攻击目标数据的最大权重值,当所述最大权重值大于或等于权重阈值时,这说明该http请求含有XPath注入攻击。
所述XPath注入攻击目标数据是http请求数据包中post消息或get消息。
所述XPath注入特征库所包含的规则是由XPath语法元素及XPath语法字段构成的关键字组成。
所述XPath语法元素包括标识符、函数、运算符、标签、注释及保留关键字。
所述XPath语法字段包括字段、条件、命令。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种XPath注入漏洞检测及防御方法,其特征在于:所述XPath注入漏洞检测及防御方法包括:
步骤一:基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段的XPath注入特征库 ;
步骤二:获取XPath注入攻击目标数据,对所述目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
步骤三:将所述目标数据中包含的所有XPath语法元素及XPath语法字段与所述XPath注入特征库进行匹配,如果匹配成功,则确定存在XPath注入攻击;
步骤四:阻断http请求一种XPath注入漏洞检测及防御系统,其特征在于:所述XPath注入漏洞检测及防御系统包括:XPath注入特征库建立模块、XPath语句分析模块、匹配模块及阻断模块,其中,
所述XPath注入特征库建立模块主要是基于XPath词法语法分析,建立基于XPath语法元素及XPath语法字段规则库;
所述XPath语句分析模块主要针对XPath注入攻击目标数据进行XPath词法语法分析,获取所述目标数据中包含的所有XPath语法元素及XPath语法字段 ;
所述匹配模块主要将从所述目标数据中获取的所有XPath语法元素及XPath语法字段与XPath注入特征库建立模块中的规则描述进行匹配,如果匹配成功,则确定存在XPath注入攻击;
所述阻断模块主要用于阻断XPath注入攻击请求,当确定存在XPath注入攻击时,该工具将会阻断该http请求,当来之同一ip地址3次类似攻击请求,则将该ip加入黑名单。
2.如权利要求2所述的一种XPath注入漏洞检测及防御系统,其特征在于:所述的XPath注入漏洞检测及防御系统还包括权重设置模块,所述权重设置模块主要为所述XPath注入特征库中XPath语法元素及XPath语法字段规则设置权重。
3.如权利要求2所述的一种XPath注入漏洞检测及防御系统,其特征在于:所述的XPath注入漏洞检测及防御系统还包括提取及判断模块,所述提取及判断模块主要用于提取http请求中的XPath注入攻击目标数据,并将XPath注入攻击目标数据与所述XPath注入特征库中规则进行匹配分析,同时确定XPath注入攻击目标数据的最大权重值,当所述最大权重值大于或等于权重阈值时,这说明该http请求含有XPath注入攻击。
4.如权利要求1或2所述的一种XPath注入漏洞检测及防御系统或方法,其特征在于:所述XPath注入攻击目标数据是http请求数据包中post消息或get消息。
5.如权利要求1或2所述的一种XPath注入漏洞检测及防御系统或方法,其特征在于:所述XPath注入特征库所包含的规则是由XPath语法元素及XPath语法字段构成的关键字组成。
6.如权利要求1或2所述的一种XPath注入漏洞检测及防御系统或方法,其特征在于:所述XPath语法元素包括标识符、函数、运算符、标签、注释及保留关键字。
7.如权利要求1或2所述的一种XPath注入漏洞检测及防御系统或方法,其特征在于:所述XPath语法字段包括字段、条件、命令。
CN201610835276.0A 2016-09-21 2016-09-21 一种XPath注入漏洞检测及防御系统及方法 Pending CN106446677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610835276.0A CN106446677A (zh) 2016-09-21 2016-09-21 一种XPath注入漏洞检测及防御系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610835276.0A CN106446677A (zh) 2016-09-21 2016-09-21 一种XPath注入漏洞检测及防御系统及方法

Publications (1)

Publication Number Publication Date
CN106446677A true CN106446677A (zh) 2017-02-22

Family

ID=58166593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610835276.0A Pending CN106446677A (zh) 2016-09-21 2016-09-21 一种XPath注入漏洞检测及防御系统及方法

Country Status (1)

Country Link
CN (1) CN106446677A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489677A (zh) * 2021-05-27 2021-10-08 贵州电网有限责任公司 一种基于语义上下文的零规则攻击检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130139050A1 (en) * 2011-11-30 2013-05-30 International Business Machines Corporation Method and system for reusing html content
CN103744802A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 Sql注入攻击的识别方法及装置
CN105160252A (zh) * 2015-08-10 2015-12-16 北京神州绿盟信息安全科技股份有限公司 一种结构化查询语言注入攻击的检测方法及装置
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130139050A1 (en) * 2011-11-30 2013-05-30 International Business Machines Corporation Method and system for reusing html content
CN103744802A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 Sql注入攻击的识别方法及装置
CN105160252A (zh) * 2015-08-10 2015-12-16 北京神州绿盟信息安全科技股份有限公司 一种结构化查询语言注入攻击的检测方法及装置
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489677A (zh) * 2021-05-27 2021-10-08 贵州电网有限责任公司 一种基于语义上下文的零规则攻击检测方法及装置

Similar Documents

Publication Publication Date Title
Lee et al. A novel method for SQL injection attack detection based on removing SQL query attribute values
Lekies et al. 25 million flows later: large-scale detection of DOM-based XSS
CN103744802B (zh) Sql注入攻击的识别方法及装置
Jang et al. Detecting SQL injection attacks using query result size
Sadeghian et al. A taxonomy of SQL injection attacks
Zhang et al. TransSQL: a translation and validation-based solution for SQL-injection attacks
CN102567546B (zh) 一种sql注入检测方法及装置
CN102833269B (zh) 跨站攻击的检测方法、装置和具有该装置的防火墙
Van Der Merwe et al. Turning evil regexes harmless
Wang et al. A new cross-site scripting detection mechanism integrated with HTML5 and CORS properties by using browser extensions
EP2107484A2 (en) A method and device for code audit
CN105718764A (zh) 一种基于Android系统陷阱指令的软件加固方法
CN104715018B (zh) 基于语义分析的智能防sql注入方法
CN107451473A (zh) 基于特征模式识别的sql注入检测方法
CN106446677A (zh) 一种XPath注入漏洞检测及防御系统及方法
Manmadhan et al. A method of detecting sql injection attack to secure web applications
Mamadhan et al. SQLStor: Blockage of stored procedure SQL injection attack using dynamic query structure validation
CN111523123A (zh) 一种网站漏洞智能检测方法
CN104038344B (zh) 一种基于正则表达式的身份验证方法
CN105072109A (zh) 防止跨站脚本攻击的方法及系统
Fernando et al. Securing RFID systems from SQLIA
Wu et al. Test SQL injection vulnerabilities in web applications based on structure matching
CN108200191A (zh) 利用微扰法的客户端动态url相关脚本字符串检测系统
Li et al. Static-based test case dynamic generation for SQLIVs detection
Dwivedi et al. Web application vulnerabilities: A survey

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222