CN106776269A - 一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 - Google Patents
一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 Download PDFInfo
- Publication number
- CN106776269A CN106776269A CN201610974212.9A CN201610974212A CN106776269A CN 106776269 A CN106776269 A CN 106776269A CN 201610974212 A CN201610974212 A CN 201610974212A CN 106776269 A CN106776269 A CN 106776269A
- Authority
- CN
- China
- Prior art keywords
- file
- xml
- meta data
- test
- compressed
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,一、使用zip解压缩方法对XML压缩文件格式的样本文件进行解压得到文件夹,文件夹中包括XML文件和元数据文件;二、将XML文件分解为标记符、标签和值的节点属性;按照元数据文件本身的协议对元数据文件进行解析;三、将得到的XML文件解析结果和元数据文件解析结果按照Fuzzing测试框架生成其能够解析的测试脚本;四、Fuzzing测试框架对测试脚本进行解析并变异生成相应的畸形XML文件和元数据文件,使用zip压缩算法对文件夹进行压缩,生成新的样本文件即测试用例,利用该测试用例进行漏洞检测,本发明能快速解析XML压缩文件格式的文件样本,并且生成大量有效地测试用例。
Description
技术领域
本发明属于软件脆弱性分析领域,具体涉及一种针对XML压缩文件格式的文件型漏洞自动挖掘方法。
背景技术
XML压缩文件格式的技术应用非常广泛,常见的文档格式如docx、pptx、xlsx、xps等格式都是基于此技术,该格式的实质上是一个zip文件。XML压缩文件格式的文件是由大量的XML和元数据组成,包含大量的文本属性和值属性。当前针对XML压缩文件格式的测试方法,主要测试的是zip格式,而不是针对性的测试本身的格式,此类测试方法无法深入测试文档格式的协议内容,所以测试的代码覆盖率不高。
发明内容
有鉴于此,本发明提供了一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,能够快速解析XML压缩文件格式的文件样本,并且生成大量有效地测试用例。
实现本发明的技术方案如下:
一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,包括以下步骤:
步骤一、使用zip解压缩方法对XML压缩文件格式的样本文件进行解压得到文件夹,文件夹中包括XML文件和元数据文件;
步骤二、将XML文件进行解析,分解为标记符、标签和值的节点属性;按照元数据文件本身的协议对元数据文件进行解析;
步骤三、将得到的XML文件分解结果和元数据文件解析结果按照Fuzzing测试框架生成其能够解析的测试脚本;
步骤四、Fuzzing测试框架对测试脚本进行解析并变异生成相应的畸形XML文件和元数据文件,使用zip压缩算法对文件夹进行压缩,生成新的样本文件即测试用例,利用该测试用例进行漏洞检测。
进一步地,所述步骤二中使用正则表达式解析XML文件。
有益效果:
(1)本发明方法测试的是文档格式本身的协议,而不是zip格式,所以测试的代码覆盖率高。
(2)本发明方法能够对XML文件和元数据文件同时进行测试,能够更有效的发现打开文档的软件的漏洞。
(3)本发明使用正则表达式解析XML文件,能够使得解析速度更快。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
如图1所示,本发明提供了一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,包括以下步骤:
步骤一、使用zip解压缩方法对XML压缩文件格式的样本文件进行解压得到文件夹,文件夹中包括XML文件和元数据文件;
步骤二、使用正则表达式解析XML文件,将XML文件分解为标记符、标签和值的节点属性;如将内容<a:fmtScheme name="Office">解析为<、a、:、fmtScheme name、=、"、Office、"、>。并且,按照元数据文件本身的协议对元数据文件进行解析;
步骤三、将得到的XML文件解析结果和元数据文件解析结果按照Fuzzing测试框架生成其能够解析的测试脚本;
步骤四、Fuzzing测试框架对测试脚本进行解析并变异生成相应的畸形XML文件和元数据文件,使用zip压缩算法对文件夹进行压缩,生成新的样本文件即测试用例,利用该测试用例进行漏洞检测。例如使用haozipc对sample文件夹进行压缩后生成Gensample.zip的命令行为:HaoZipC.exe a-tzip Gensample.zip-r"sample\*.*"。
利用本发明方法可以实施大规模并行化部署,在并行测试框架中进行Fuzzing测试,生成大量的测试用例,更加有效、快捷地发现软件的漏洞。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,其特征在于,包括以下步骤:
步骤一、使用zip解压缩方法对XML压缩文件格式的样本文件进行解压得到文件夹,文件夹中包括XML文件和元数据文件;
步骤二、将XML文件进行解析,分解为标记符、标签和值的节点属性;按照元数据文件本身的协议对元数据文件进行解析;
步骤三、将得到的XML文件解析结果和元数据文件解析结果按照Fuzzing测试框架生成其能够解析的测试脚本;
步骤四、Fuzzing测试框架对测试脚本进行解析并变异生成相应的畸形XML文件和元数据文件,使用zip压缩算法对文件夹进行压缩,生成新的样本文件即测试用例,利用该测试用例进行漏洞检测。
2.如权利要求1所述的一种针对XML压缩文件格式的文件型漏洞自动挖掘方法,其特征在于,所述步骤二中使用正则表达式解析XML文件。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610974212.9A CN106776269A (zh) | 2016-11-04 | 2016-11-04 | 一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610974212.9A CN106776269A (zh) | 2016-11-04 | 2016-11-04 | 一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106776269A true CN106776269A (zh) | 2017-05-31 |
Family
ID=58973666
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610974212.9A Pending CN106776269A (zh) | 2016-11-04 | 2016-11-04 | 一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106776269A (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090204591A1 (en) * | 2008-02-11 | 2009-08-13 | Rauli Kaksonen | Method and arrangement for test case creation |
| CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
-
2016
- 2016-11-04 CN CN201610974212.9A patent/CN106776269A/zh active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090204591A1 (en) * | 2008-02-11 | 2009-08-13 | Rauli Kaksonen | Method and arrangement for test case creation |
| CN104573523A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 文件漏洞挖掘的实现方法和装置 |
Non-Patent Citations (1)
| Title |
|---|
| 刁培金等: "针对复合文档的漏洞挖掘技术研究", 《现代计算机(专业版)》 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101471818B (zh) | 一种恶意注入脚本网页检测方法和系统 | |
| US10620945B2 (en) | API specification generation | |
| CN102982010B (zh) | 提取文档结构的方法和装置 | |
| CN104063401B (zh) | 一种网页样式地址合并的方法和装置 | |
| CN102289407B (zh) | 文档格式转换自动测试方法 | |
| CN104679495B (zh) | 软件识别方法及装置 | |
| CN111062187A (zh) | 一种对docx格式文档进行结构化解析方法及系统 | |
| CN105095067A (zh) | 用户界面元素对象识别及自动化测试的方法和装置 | |
| CN106970993B (zh) | 挖掘模型更新方法和装置 | |
| CN105046159B (zh) | 基于修改标识符的oox文本文档隐私信息检测方法 | |
| CN102122280A (zh) | 一种智能提取内容对象的方法及系统 | |
| CN102298575A (zh) | 一种带格式的Word文件内容拷贝和粘贴的方法及系统 | |
| US10133723B2 (en) | System and method for determining document version geneology | |
| CN102571922B (zh) | 一种数据流处理方法及装置 | |
| CN102063416B (zh) | 向pdf文件内嵌双字节字体的方法及其系统 | |
| CN105279032B (zh) | 一种同步接口报文与javaBean的方法及装置 | |
| CN105022667A (zh) | 一种基于嵌入式浏览器css引擎并行化方法 | |
| CN106776269A (zh) | 一种针对xml压缩文件格式的文件型漏洞自动挖掘方法 | |
| CN101986307B (zh) | 一种mime类型插件的生成方法、系统及浏览器 | |
| CN103631983B (zh) | 一种战术数据报文模拟方法及系统 | |
| US11922113B2 (en) | Systems, methods, and devices for e-mail rendering | |
| CN101221561A (zh) | 数据库脚本通用化实现系统和方法 | |
| Kai et al. | Analysis and implementation of NTFS file system based on computer forensics | |
| CN116204421A (zh) | 测试用例生成方法、装置、存储介质和计算机设备 | |
| CN114238126A (zh) | 一种基于元数据的自动化测试方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | 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 |
Application publication date: 20170531 |
|
| WD01 | Invention patent application deemed withdrawn after publication |