CN114244823B - 一种基于Http请求自动变形的渗透测试方法及系统 - Google Patents
一种基于Http请求自动变形的渗透测试方法及系统 Download PDFInfo
- Publication number
- CN114244823B CN114244823B CN202111275076.1A CN202111275076A CN114244823B CN 114244823 B CN114244823 B CN 114244823B CN 202111275076 A CN202111275076 A CN 202111275076A CN 114244823 B CN114244823 B CN 114244823B
- Authority
- CN
- China
- Prior art keywords
- penetration test
- request
- module
- data
- penetration
- 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.)
- Active
Links
- 230000035515 penetration Effects 0.000 title claims abstract description 127
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 104
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005206 flow analysis Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000004044 response Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Http请求自动变形的渗透测试方法,包括以下步骤:采集原始API数据;根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;基于目标API请求通过HttpClint5对待测试系统进行渗透测试,生成渗透测试结果;对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。本发明还公开了一种基于Http请求自动变形的渗透测试系统。本发明涉及系统测试技术领域。本发明可实现快速全面的渗透测试。
Description
技术领域
本发明涉及系统测试技术领域,具体而言,涉及一种基于Http请求自动变形的渗透测试方法及系统。
背景技术
当前为了保证系统上线无安全漏洞,需要测试人员利用fillder抓包工具或者postman测试工具等对Http请求进行渗透测试,经过测试人员有计划的修改以及分析返回结果来确认系统是否安全。
但这种方式存在以下的问题:
时间成本长:每次发版都需要测试人员进行渗透测试,包括以前的Http请求也要进行重新测试,若系统一直在迭代,则渗透测试会面临滚雪球似的时间增加。
人力成本高:如遇到测试人员工作变动,则需要面临人员交接、文档交接以及新员工重新学习的问题,而如果是自动变形的渗透技术测试则不存在这种情况。
效率不高:测试人员对复杂的操作重复做效率不高也比较的浪费时间和人力。
不够全面:当公司没把研究渗透测试的规则作为资产来管理的时候,就无法对渗透测试进行持续改进、持续优化,也就不能对系统面临的潜在风险进行完全覆盖检测。那么最终给出的测试报告往往也不够全面。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于Http请求自动变形的渗透测试方法及系统,可实现快速全面的渗透测试。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供一种基于Http请求自动变形的渗透测试方法,包括以下步骤:
采集原始API数据;
根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;
基于目标API请求通过HttpClint5对待测试系统进行渗透测试,生成渗透测试结果;
对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
为了解决现有技术中的系统渗透测试的时间成本长、人力成本高、效率低、不全面等技术问题,本发明通过解析Http请求的请求方式,请求参数等,然后通过一些规范规则自动变形组装成新的API请求,借助HttpClint5对系统进行渗透攻击,以此来实现快速的渗透测试。首先,采集原始API数据,然后根据预置的自动变形规则将原始API数据进行重新组装,以得到新的API请求,即目标API请求;然后通过HttpCl int5发起渗透测试,解析返回请求信息的状态码、响应时间等维度信息,生成渗透测试结果。然后对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成完整全面的渗透报告。
本方法实现了互联网系统正式上线前(包括项目的迭代)可以快速的根据用户配置的规则来进行渗透测试保证系统无安全漏洞,大大提高了渗透测试的效率,同时有效节约了时间和人力成本。
基于第一方面,在本发明的一些实施例中,上述采集原始API数据的方法包括以下步骤:
通过交换机端口镜像、Nginx和/或web端插件采集数据流量;
将数据流量进行解析,以得到原始API数据。
基于第一方面,在本发明的一些实施例中,上述根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求的方法包括以下步骤:
录入并根据不同类型的请求设定对应的自动变形规则;
根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。
基于第一方面,在本发明的一些实施例中,该基于Http请求自动变形的渗透测试方法还包括以下步骤:
将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
第二方面,本发明实施例提供一种基于Http请求自动变形的渗透测试系统,包括数据采集模块、请求组装模块、渗透测试模块以及报告生成模块,其中:
数据采集模块,用于采集原始API数据;
请求组装模块,用于根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;
渗透测试模块,用于基于目标API请求通过HttpClint5对待测试系统进行渗透测试,生成渗透测试结果;
报告生成模块,用于对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
为了解决现有技术中的系统渗透测试的时间成本长、人力成本高、效率低、不全面等技术问题,本发明通过解析Http请求的请求方式,请求参数等,然后通过一些规范规则自动变形组装成新的API请求,借助HttpClint5对系统进行渗透攻击,以此来实现快速的渗透测试。首先,通过数据采集模块采集原始API数据,然后请求组装模块根据预置的自动变形规则将原始API数据进行重新组装,以得到新的API请求,即目标API请求;然后渗透测试模块通过HttpClint5发起渗透测试,解析返回请求信息的状态码、响应时间等维度信息,生成渗透测试结果。然后通过报告生成模块对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成完整全面的渗透报告。
本系统实现了互联网系统正式上线前(包括项目的迭代)可以快速的根据用户配置的规则来进行渗透测试保证系统无安全漏洞,大大提高了渗透测试的效率,同时有效节约了时间和人力成本。
基于第二方面,在本发明的一些实施例中,上述数据采集模块包括流量采集子模块和流量解析子模块,其中:
流量采集子模块,用于通过交换机端口镜像、Nginx和/或web端插件采集数据流量;
流量解析子模块,用于将数据流量进行解析,以得到原始API数据。
基于第二方面,在本发明的一些实施例中,上述请求组装模块包括规则设定子模块和组装子模块,其中:
规则设定子模块,用于录入并根据不同类型的请求设定对应的自动变形规则;
组装子模块,用于根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。
基于第二方面,在本发明的一些实施例中,该基于Http请求自动变形的渗透测试系统还包括通知模块,用于将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
本发明实施例至少具有如下优点或有益效果:
本发明实施例提供一种基于Http请求自动变形的渗透测试方法及系统,为了解决现有技术中的系统渗透测试的时间成本长、人力成本高、效率低、不全面等技术问题,本发明通过解析Http请求的请求方式,请求参数等,然后通过一些规范规则自动变形组装成新的API请求,借助HttpClint5对系统进行渗透攻击,以此来实现快速的渗透测试。实现了互联网系统正式上线前可以快速的根据用户配置的规则来进行渗透测试保证系统无安全漏洞,大大提高了渗透测试的效率,同时有效节约了时间和人力成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一种基于Http请求自动变形的渗透测试方法的流程图;
图2为本发明实施例一种基于Http请求自动变形的渗透测试系统的原理框图;
图3为本发明实施例提供的一种电子设备的结构框图。
图标:100、数据采集模块;110、流量采集子模块;120、流量解析子模块;200、请求组装模块;210、规则设定子模块;220、组装子模块;300、渗透测试模块;400、报告生成模块;500、通知模块;101、存储器;102、处理器;103、通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明实施例的描述中,“多个”代表至少2个。
实施例
如图1所示,第一方面,本发明实施例提供一种基于Http请求自动变形的渗透测试方法,包括以下步骤:
S1、采集原始API数据;
进一步地,通过交换机端口镜像、Nginx和/或web端插件采集数据流量;将数据流量进行解析,以得到原始API数据。
在本发明的一些实施例中,为了进行系统安全测试,需要获取大量的数据为后续提供基础,可以通多种方式获取,可以通过交换机端口镜像、Nginx复制流量和/或web端插件采集数据流量然后将流量解析转换成API数据。还可以通过用户录入对应的数据,获取用户录入或导入的API数据。保证可以获取到全面的数据。根据HTTP协议规范,HTTP接口可以通过HTTP方法+资源名的方式进行表述。
对同一个资源进行不同操作可以通过不同的HTTP方法+资源名得以实现。以下表格(表一)描述了如何将标准方法映射为REST方法,也就是所谓的CRUD方法:
表一:
以一个具体对用户信息的可能的操作示例来说明,如表二所示:
表二:
通过以上的示例,我们知道当一个资源的URI确定时,我们就也大致的了解到了对该资源的可能的多种操作请求是什么样的。如果获取用户信息的接口是低权限的,删除用户信息的接口是高权限的,我们可以利用以上的规则,通过低权限的操作获取资源的URI信息,通过变更HTTP方法名实现对高权限接口的渗透模拟。新指令是否能够被系统所接受,可以通过请求的响应状态得以了解。因此通过模拟指令和请求响应状态我们可以清楚的了解。新指令是否发生了作用。
交换机端口镜像:是指将经过交换机指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口)。
Nginx复制流量:首先Nginx是一个开源的,支持高性能、高并发的Web服务和代理服务软件。内置ngx_http_mirror_module模块就像是一个镜像站点一样,将所有的请求都收集起来,这个镜像站点就代表了所有真实有效的原始请求,有了这个镜像站点,就可以实现采集流量的需求。
S2、根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;
进一步地,录入并根据不同类型的请求设定对应的自动变形规则;根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。一个HTTP API请求数据包含HTTP方法名,资源URI,查询参数,资源ID信息,请求Header参数。其中最重要的是资源URI和资源ID信息。
一般的说,在IT系统中,只读是低权限的。对资源的编辑和删除是高权限的。当我们通过低权限操作获得资源对象的URI和资源ID信息后,便通过上次的规则,自动构建出对应资源的高权限操作接口请求地址。通过使用虚构出来的指令信息向系统下达执行请求。系统如果没有做好充分的权限,则这些虚构出来的指令信息将可能会被执行,因此达到非法信息获取或破坏IT信息的目的。
如果用户利用低权限操获取GET(获得)指定资源时的权限后,根据我们的自动变形算法,我们可以自动生成PUT/Patch/Delete(编辑、删除)该资源的操作指令。执行新生成的指令可以破坏信息化系统中的数据。
如果用户利用低权限操获取PUT/Patch(编辑)指定资源特定属性的权限后,根据我们的自动变形算法,我们可以自动生成GET/PUT/Patch/Delete(编辑、删除)该资源的操作指令。执行新生成的指令可以破坏信息化系统中的数据或读取用户未授权获得的信息。
如果用户利用低权限操获取Delete(删除)指定资源的权限后,根据我们的自动变形算法,我们可以自动生成GET/PUT/Patch/Delete(编辑、删除)其他资源的操作指令。执行新生成的指令可以破坏信息化系统中的数据或读取用户未授权获得的信息。
在本发明的一些实施例中,在解析Http请求的请求方式,请求参数等后,通过一些规范规则自动变形组装成新的API请求,以便进行后续的渗透测试。
Http接口包括GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。根据不同的接口类型设定对应的请求的自动变形规则,主要包括:
GET请求:如url为:/users?id=1,获取到数据主键id,
第一:自动变形请求方法转化为删除DELETE请求(/users/1);第二:自动变形请求方法转化为修改PUT请求(/users/1);第三:判断id为数字还可以把id遍历改为其他值如1改成2,3,4...100等,就变成了新的请求(/users?id=2);第四:在id=1后面加or1=1等来进行渗透查询(/users/1or 1=1)。
POST请求:渗透测试重放漏洞,比如连续发几次POST请求看是否成功添加了多条数据,检测到id也可以自动转化为新的DELETE请求或GET请求遍历获取数据库数据。
PUT请求:如url为:/users/1,则可以自动改变请求方法转化为删除DELETE请求等。
DELETE请求:可以通过修改主键id自动变形为新的DELETE请求。
所有请求:可以通过改变请求头cookie里面的token信息等参数自动变形为新的请求。
对于其他非标准接口的Http请求,如url为/getPayInfo?id=1,url也可以自动变形,那么可以把get替换成delete,这样就变成了一个新的删除请求(/deletePayInfo?id=1)。
根据不同请求类型采用不同的自动变形规则进行重新组装,以便后续进行快速方便的渗透测试。
S3、基于目标API请求通过HttpCl int5对待测试系统进行渗透测试,生成渗透测试结果;
在本发明的一些实施例中,通过HttpClint5发起渗透测试,解析返回请求信息的状态码、响应时间等维度信息,生成渗透测试结果。
HttpClient5:是Apache Jakarta Common下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
S4、对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
得到渗透测试结果后对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成完整全面的渗透报告。渗透测试报告可以告诉信息系统的拥有者,他的系统存在什么样的鉴权问题。是否在服务端对用户的访问控制做到了数据级控制,操作级控制。渗透报告可以包含以下内容,这些内容均是可以通过构建新的指令的执行返回状态加工而来。渗透报告包括:应用服务端的哪些接口在未授权下被进行了访问、未授权访问状态下的执行状态、通过合法的接口有哪些未授权的数据被进行了访问、对未授权数据的访问的执行状态、对应用的安全性进行评估等信息,比如:新指令执行的成功率、失败率、系统回应的正确率等信息。
为了解决现有技术中的系统渗透测试的时间成本长、人力成本高、效率低、不全面等技术问题,本发明通过解析Http请求的请求方式,请求参数等,然后通过一些规范规则自动变形组装成新的API请求,借助HttpClint5对系统进行渗透攻击,以此来实现快速的渗透测试。
本方法实现了互联网系统正式上线前(包括项目的迭代)可以快速的根据用户配置的规则来进行渗透测试保证系统无安全漏洞,大大提高了渗透测试的效率,同时有效节约了时间和人力成本。
基于第一方面,在本发明的一些实施例中,该基于Http请求自动变形的渗透测试方法还包括以下步骤:
将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
为了保证可以及时了解到系统测试的情况,及时的将渗透报告发送给测试监测人员,可以采用多种信息传输方式进行发送通知,例如:邮件、短信、钉钉、QQ、微信等等信息传输方式进行发送通知,保证监测人员可以及时接收到渗透报告,掌握测试情况。
如图2所示,第二方面,本发明实施例提供一种基于Http请求自动变形的渗透测试系统,包括数据采集模块100、请求组装模块200、渗透测试模块300以及报告生成模块400,其中:
数据采集模块100,用于采集原始API数据;
请求组装模块200,用于根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;
渗透测试模块300,用于基于目标API请求通过HttpCl int5对待测试系统进行渗透测试,生成渗透测试结果;
报告生成模块400,用于对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
为了解决现有技术中的系统渗透测试的时间成本长、人力成本高、效率低、不全面等技术问题,本发明通过解析Http请求的请求方式,请求参数等,然后通过一些规范规则自动变形组装成新的API请求,借助HttpClint5对系统进行渗透攻击,以此来实现快速的渗透测试。首先,通过数据采集模块100采集原始API数据,然后请求组装模块200根据预置的自动变形规则将原始API数据进行重新组装,以得到新的API请求,即目标API请求;然后渗透测试模块300通过HttpCl int5发起渗透测试,解析返回请求信息的状态码、响应时间等维度信息,生成渗透测试结果。然后通过报告生成模块400对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成完整全面的渗透报告。
本系统实现了互联网系统正式上线前(包括项目的迭代)可以快速的根据用户配置的规则来进行渗透测试保证系统无安全漏洞,大大提高了渗透测试的效率,同时有效节约了时间和人力成本。
如图2所示,基于第二方面,在本发明的一些实施例中,上述数据采集模块100包括流量采集子模块110和流量解析子模块120,其中:
流量采集子模块110,用于通过交换机端口镜像、Nginx和/或web端插件采集数据流量;
流量解析子模块120,用于将数据流量进行解析,以得到原始API数据。
为了进行系统安全测试,需要获取大量的数据为后续提供基础,可以通多种方式获取,流量采集子模块110通过交换机端口镜像、Nginx复制流量和/或web端插件采集数据流量然后流量解析子模块120将流量解析转换成API数据。还可以通过用户录入对应的数据,获取用户录入或导入的API数据。保证可以获取到全面的数据。
如图2所示,基于第二方面,在本发明的一些实施例中,上述请求组装模块200包括规则设定子模块210和组装子模块220,其中:
规则设定子模块210,用于录入并根据不同类型的请求设定对应的自动变形规则;
组装子模块220,用于根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。
为了满足测试需求,通过规则设定子模块210根据不同的接口类型设定对应的请求的自动变形规则,然后组装子模块220根据对应的自动变形规则对各个接口请求进行重新组装,以便后续进行快速方便的渗透测试。
如图2所示,基于第二方面,在本发明的一些实施例中,该基于Http请求自动变形的渗透测试系统还包括通知模块500,用于将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
为了保证可以及时了解到系统测试的情况,通过通知模块500及时的将渗透报告发送给测试监测人员,可以采用多种信息传输方式进行发送通知,例如:邮件、短信、钉钉、QQ、微信等等信息传输方式进行发送通知,保证监测人员可以及时接收到渗透报告,掌握测试情况。
如图3所示,第三方面,本申请实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器101(Random Access Memory,RAM),只读存储器101(Read Only Memory,ROM),可编程只读存储器101(ProgrammableRead-Only Memory,PROM),可擦除只读存储器101(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器101(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器102,包括中央处理器102(Central Processing Unit,CPU)、网络处理器102(Network Processor,NP)等;还可以是数字信号处理器102(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器101(ROM,Read-Only Memory)、随机存取存储器101(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种基于Http请求自动变形的渗透测试方法,其特征在于,包括以下步骤:
采集原始API数据;
根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求,包括:利用低权限操作获取指定资源特定属性的权限后,根据自动变形算法,自动生成高权限操作对该指定资源的操作指令,进行封装后得到目标API请求;
基于目标API请求通过HttpClient5对待测试系统进行渗透测试,生成渗透测试结果;
对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
2.根据权利要求1所述的一种基于Http请求自动变形的渗透测试方法,其特征在于,所述采集原始API数据的方法包括以下步骤:
通过交换机端口镜像、Nginx和/或web端插件采集数据流量;
将数据流量进行解析,以得到原始API数据。
3.根据权利要求1所述的一种基于Http请求自动变形的渗透测试方法,其特征在于,所述根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求的方法包括以下步骤:
录入并根据不同类型的请求设定对应的自动变形规则;
根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。
4.根据权利要求1所述的一种基于Http请求自动变形的渗透测试方法,其特征在于,还包括以下步骤:
将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
5.一种执行如权利要求1所述的基于Http请求自动变形的渗透测试方法的系统,其特征在于,包括数据采集模块、请求组装模块、渗透测试模块以及报告生成模块,其中:
数据采集模块,用于采集原始API数据;
请求组装模块,用于根据预置的自动变形规则将原始API数据进行组装,以得到目标API请求;
渗透测试模块,用于基于目标API请求通过HttpClient5对待测试系统进行渗透测试,生成渗透测试结果;
报告生成模块,用于对渗透测试结果进行解析,以得到解析结果数据,并根据预置的用户配置规则对解析结果数据进行汇总,生成渗透报告。
6.根据权利要求5所述的一种基于Http请求自动变形的渗透测试系统,其特征在于,所述数据采集模块包括流量采集子模块和流量解析子模块,其中:
流量采集子模块,用于通过交换机端口镜像、Nginx和/或web端插件采集数据流量;
流量解析子模块,用于将数据流量进行解析,以得到原始API数据。
7.根据权利要求5所述的一种基于Http请求自动变形的渗透测试系统,其特征在于,所述请求组装模块包括规则设定子模块和组装子模块,其中:
规则设定子模块,用于录入并根据不同类型的请求设定对应的自动变形规则;
组装子模块,用于根据原始API数据的类型提取并根据对应的自动变形规则将原始API数据进行组装,以得到目标API请求。
8.根据权利要求5所述的一种基于Http请求自动变形的渗透测试系统,其特征在于,还包括通知模块,用于将渗透报告采用一种或多种信息传输方式发送给测试监测人员。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275076.1A CN114244823B (zh) | 2021-10-29 | 2021-10-29 | 一种基于Http请求自动变形的渗透测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111275076.1A CN114244823B (zh) | 2021-10-29 | 2021-10-29 | 一种基于Http请求自动变形的渗透测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244823A CN114244823A (zh) | 2022-03-25 |
CN114244823B true CN114244823B (zh) | 2024-02-02 |
Family
ID=80743409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111275076.1A Active CN114244823B (zh) | 2021-10-29 | 2021-10-29 | 一种基于Http请求自动变形的渗透测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244823B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012170423A1 (en) * | 2011-06-05 | 2012-12-13 | Core Sdi Incorporated | System and method for providing automated computer security compromise as a service |
CN110677381A (zh) * | 2019-08-14 | 2020-01-10 | 奇安信科技集团股份有限公司 | 渗透测试的方法及装置、存储介质、电子装置 |
WO2020016340A1 (de) * | 2018-07-18 | 2020-01-23 | Consecom Ag | Penetrationstestverfahren, computerprogramm und vorrichtung zur datenverarbeitung |
CN112118241A (zh) * | 2020-09-08 | 2020-12-22 | 上海谋乐网络科技有限公司 | 审计渗透测试方法、测试节点服务器、管理服务器及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070180509A1 (en) * | 2005-12-07 | 2007-08-02 | Swartz Alon R | Practical platform for high risk applications |
US11416623B2 (en) * | 2019-07-31 | 2022-08-16 | International Business Machines Corporation | Automatic penetration testing enablement of regression buckets |
-
2021
- 2021-10-29 CN CN202111275076.1A patent/CN114244823B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012170423A1 (en) * | 2011-06-05 | 2012-12-13 | Core Sdi Incorporated | System and method for providing automated computer security compromise as a service |
WO2020016340A1 (de) * | 2018-07-18 | 2020-01-23 | Consecom Ag | Penetrationstestverfahren, computerprogramm und vorrichtung zur datenverarbeitung |
CN110677381A (zh) * | 2019-08-14 | 2020-01-10 | 奇安信科技集团股份有限公司 | 渗透测试的方法及装置、存储介质、电子装置 |
CN112118241A (zh) * | 2020-09-08 | 2020-12-22 | 上海谋乐网络科技有限公司 | 审计渗透测试方法、测试节点服务器、管理服务器及系统 |
Non-Patent Citations (1)
Title |
---|
跨站脚本漏洞渗透测试技术;王丹;顾明昌;赵文兵;;哈尔滨工程大学学报(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114244823A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757945B2 (en) | Collaborative database and reputation management in adversarial information environments | |
US9208309B2 (en) | Dynamically scanning a web application through use of web traffic information | |
CN110708322A (zh) | 一种工业互联网标识解析系统代理服务的实现方法 | |
CN106209488B (zh) | 用于检测网站攻击的方法和设备 | |
CN111586033A (zh) | 一种数据中心的资产数据中台 | |
CN101635730A (zh) | 中小企业内网信息安全托管方法与系统 | |
US11968239B2 (en) | System and method for detection and mitigation of data source compromises in adversarial information environments | |
CN104579773A (zh) | 域名系统分析方法及装置 | |
US20070016960A1 (en) | NTO input validation technique | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN111241104A (zh) | 操作审计方法、装置及电子设备和计算机可读存储介质 | |
CN111510463B (zh) | 异常行为识别系统 | |
CN114679292B (zh) | 基于网络空间测绘的蜜罐识别方法、装置、设备及介质 | |
CN111353151A (zh) | 一种网络应用的漏洞检测方法和装置 | |
CN117235810A (zh) | 一种基于区块链的日志安全存储与高效查询方法 | |
US11297091B2 (en) | HTTP log integration to web application testing | |
Robberechts et al. | Query log analysis: Detecting anomalies in DNS traffic at a TLD resolver | |
CN111625837A (zh) | 识别系统漏洞的方法、装置和服务器 | |
KR102128008B1 (ko) | 사이버 위협 정보 처리 방법 및 장치 | |
US6968373B1 (en) | System, computer program, and method for network resource inventory | |
CN111224981B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114244823B (zh) | 一种基于Http请求自动变形的渗透测试方法及系统 | |
JP2004234401A (ja) | セキュリティ診断情報収集システム及びセキュリティ診断システム | |
CN114969450A (zh) | 一种用户行为分析方法、装置、设备及存储介质 | |
Alghfeli et al. | Bayyinah, A Log Analysis Forensics Tool |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |