CN110674507A - 检测web应用越权的方法及系统 - Google Patents
检测web应用越权的方法及系统 Download PDFInfo
- Publication number
- CN110674507A CN110674507A CN201910889750.1A CN201910889750A CN110674507A CN 110674507 A CN110674507 A CN 110674507A CN 201910889750 A CN201910889750 A CN 201910889750A CN 110674507 A CN110674507 A CN 110674507A
- Authority
- CN
- China
- Prior art keywords
- request
- response
- module
- requests
- similarity
- 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
Images
Classifications
-
- 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
-
- 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/033—Test or assess software
Abstract
本发明公开了一种检测web应用越权的方法及系统,其中,方法包括如下步骤:S1)、通过两个不同的用户账号登陆待检测应用程序,并遍历应用程序中的所有功能;S2)、收集并记录当前浏览器的所有请求信息和响应信息,从而形成request表和reponse表;S3)、将分别与两个用户所对应的请求中的要素彼此作全部或部分替换,形成水平和/或垂直权限请求回放记录表;S4)、回放替换后的请求,生成回放响应表;S5)、对比reponse表和回放响应表,得出响应相似度。由此可知,通过上述检测方法,不需要了解应用程序的所有接口,即可分析系统是否存在越权漏洞,属于半自动方式检测,另外,基于替换请求要素然后计算响应相似度的方式来检测是否存在越权漏洞,准确率高。
Description
技术领域
本发明涉及web应用越权检测技术领域,尤其涉及一种基于请求参数替换的检测web应用越权的方法及系统。
背景技术
越权缺陷漏洞是web应用常见的业务逻辑漏洞之一,也是现在很多公司比较看重的,它的形成原因是由于服务器端对客户端的数据操作请求过分信任,忽略了对该用户操作权限的判定。越权缺陷漏洞包括有水平越权和垂直越权,水平越权也叫横向越权,指的是攻击者尝试访问与他拥有相同权限的用户的资源,垂直越权也叫纵向越权,指的是一个低级别攻击者尝试访问高级别用户的资源。由于这种越权操作的判定和检测依赖于业务逻辑,所以在检测的时候不同于其他的漏洞检测,情况会很复杂,对于垂直越权的场景来说,不同的客户会有不同的权限组织结构,不能用统一的级别角色来做检测依据;对于水平越权的场景来说,不同的客户会有不同的资源,对资源的保护也不一样,所以无法统一规范资源,从而无法判断是否越权访问资源。正是由于这种和业务逻辑紧密关联在一起的特性,导致现在几乎没有一个很好的完美解决水平垂直越权的检测产品和工具。
现在很多公司对产品的越权权限漏洞的检测,主要还是依赖公司内部安全测试团队依据公司自己的业务逻辑手动测试产品的垂直越权和水平越权行为,比如根据研发团队提供的接口说明以及角色说明文档,然后在页面通过切换角色查看不同的数据,然后通过抓包工具访问接口的时候,替换相同角色不同用户所专属的参数,这个参数可能是研发团队提供的,也有可能是根据接口参数说明猜出来的,整个测试虽然可能有效,但是第一由于手动,导致安全团队测试的效率低下,而且由于频繁的需要和研发团队沟通,所以会增加团队间的沟通成本。另外市场上还有一些自动化测试的工具,实现原理其实就是对比相同的接口,通过更换不同的cookie的方案,查看是否有越权的行为,这种方法虽然能解决一部分问题,但还是远远不够,对于复杂参数的接口,可能就无法测试出来。
发明内容
本发明的目的是为解决上述技术问题不足而提供一种在实现自动化检测的同时并且能够极大提高测试的准确度和覆盖度的检测web应用越权的方法。
本发明的另一目的是为解决上述技术问题不足而提供一种在实现自动化检测的同时并且能够极大提高测试的准确度和覆盖度的检测web应用越权的系统。
为了实现上述目的,本发明公开了一种检测web应用越权的方法,其包括如下步骤:
S1)、通过两个不同的用户账号登陆待检测应用程序,并遍历所述应用程序中的所有功能;
S2)、收集并记录当前浏览器的所有请求信息和响应信息,从而形成request表和reponse表,并根据为所述应用程序的各个用户角色配置的用户信息,形成请求、角色和用户的对应关系关联表;
S3)、当所述步骤1中的两个用户账号属于同一角色时,根据所述关联表,将分别与两个用户所对应的请求中的参数彼此作全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表;
当所述步骤1中的两个用户账号分别属于两个角色时,根据所述关联表,将分别与两个用户所对应的请求的主体作彼此替换,且参数作全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表;
S4)、回放所述步骤3中形成的水平权限请求回放记录表和/或垂直权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;
S5)、对比所述reponse表和所述回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
与现有技术相比,本发明检测web应用越权的方法,通过浏览器捕获待检测应用程序中的所有请求信息和与之对应的响应信息,从而记录并保保存为request表和reponse表,然后对收集到的请求信息进行处理,即将不同用户所对应的请求中的要素进行替换,将替换后的请求进行保存,当进行水平权限检测时,替换的要素为请求中的参数,替换保存后形成水平权限请求回放记录表,当进行垂直权限检测时,替换的要素包括请求的主体和参数,替换保存后形成垂直权限请求回放记录表,然后对水平权限请求回放记录表或垂直权限请求回放记录表中的请求进行回放,从而对生成的响应进行记录保存,生成回放响应表,接着,通过比对回放响应表与reponse表,计算出请求要素替换前后所得到的响应的相似度,从而生成并上报用于判断是否越权的相似度分析结果;由此可知,通过上述检测方法,不需要了解应用程序的所有接口,而且不需要手动对每个接口进行测试,只需登录应用程序将其所有功能操作一遍,即可分析系统是否存在越权漏洞,属于半自动方式检测;另外,基于替换请求要素然后计算响应相似度的方式来检测是否存在越权漏洞,准确率高。
较佳地,在所述步骤5中,所述响应相似度得出方法具体包括:将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度;所述相似度分析结果包括若干组展示表,每一组所述展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及所述原响应与所述替换后的响应之间的相似度,此处,所述替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。
较佳地,所述展示表中,还可根据需求全部展示与所述原请求对应的多个替换后的请求、替换后的响应、替换的要素以及相似度。
较佳地,所述检测web应用越权的方法包括步骤S6):根据所述相似度分析结果以及所述应用程序的实际逻辑设置,对所述请求回放记录表中的请求的主体和/或参数进行标记,通过对所述请求的主体进行标记,以判断所述请求是否越权,通过对所述请求的参数进行标记,以判断所述参数是否影响越权。
较佳地,所述应用程序在工作过程中,实时收集请求流量和响应流量,以对所述request表和reponse表进行更新,进而对所述请求回放记录表进行更新。
本发明还公开一种检测web应用越权的系统,其包括遍历模块、数据收集模块、数据处理模块、回放模块以及分析上报模块;
所述遍历模块,用于通过使用不同的用户账号登陆待检测应用程序,以遍历所述应用程序中的所有功能;
所述数据收集模块,用于收集并记录当前浏览器的所有原始请求信息和原始响应信息,从而形成request表和reponse表,并根据为所述应用程序的各个用户角色配置的用户信息,形成请求、角色和用户的对应关系关联表;
所述数据处理模块,其与所述数据收集模块电性连接,当所述遍历模块中的两个用户账号属于同一角色时,所述数据处理模块用于根据所述关联表,将分别与两个用户所对应的请求中的参数彼此作全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表;
当所述遍历模块中的两个用户账号分别属于两个角色时,所述数据处理模块用于根据所述关联表,将分别与两个用户所对应的请求的主体作彼此替换,且参数作全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表;
所述回放模块,其与所述数据处理模块电性连接,用于回放所述水平权限请求回放记录表和/或垂直权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;
所述分析上报模块,其与所述数据处理模块和所述回放模块电性连接,用于对比所述reponse表和所述回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
较佳地,所述分析上报模块包括相似度计算模块和分组展示模块;通过所述相似度计算模块,将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度;所述分组展示模块,用于生成若干组若干组展示表,每一组所述展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及所述原响应与所述替换后的响应之间的相似度,此处,所述替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。
较佳地,通过所述分组展示模块,可根据需求全部展示与所述原请求对应的多个参数替换后的请求、替换后的响应、替换的要素以及相似度。
较佳地,所述检测web应用越权的系统还包括与所述分析上报模块电性连接的标记模块,所述标记模块用于根据所述相似度分析结果以及所述应用程序的实际逻辑设置,对所述请求回放记录表中的请求的主体和/或参数进行标记,通过对所述请求的主体进行标记,以判断所述请求是否越权,通过对所述请求的参数进行标记,以判断所述参数是否影响越权。
较佳地,所述检测web应用越权的系统还包括实时更新模块,所述实时更新模块用于在所述应用程序工作过程中,实时收集请求流量和响应流量,以对所述request表和reponse表进行更新,进而对所述请求回放记录表进行更新。
本发明还公开一种检测web应用越权的系统,其包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的检测web应用越权的方法的指令。
另外,本发明还公开一种计算机可读存储介质,其特征在于,包括测试用计算机程序,所述计算机程序可被处理器执行以完成如上所述的检测web应用越权的方法。
附图说明
图1为发明实施例1中检测web应用水平越权的方法的流程图。
图2为发明实施例1中检测web应用垂直越权的方法的流程图。
图3为本发明实施例中检测web应用越权的系统的原理结构示意图。
具体实施方式
为详细说明本发明的技术内容、结构特征、实现原理及所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明公开了一种检测web应用越权的方法,由于web应用越权包括有水平越权和垂直越权,因此,下面通过两个实施例分别说明检测web应用水平越权和垂直越权的方法。
实施例1,检测web应用水平越权的方法,如图1,其包括如下步骤:
S1)、通过两个不同的用户账号登陆待检测应用程序,并遍历应用程序中的所有功能,本实施例中,该两用户账号均属于普通用户角色(当然该两用户账号也可均属于管理员用户角色),分别为A1和A2。测试工作开始时,由测试人员分别使用A1和A2登录应用程序,并将应用程序中的所有功能操作一遍。
S2)、收集并记录当前浏览器的所有请求信息和响应信息,从而形成request表和reponse表,并根据为A1和A2配置的用户信息,形成请求、角色和用户的对应关系关联表,具体地:应用程序启动后,会开启一个线程,监听一个代理,这个代理会被配到浏览器里,监听的代理会捕获当前浏览器的所有请求信息和返回信息,然后记录保存两张表,一张是request表,一张是response表,然后根据页面配置的角色信息,对应请求的cookie信息,形成cookie、角色和用户的对应关系关联表,也即请求、角色和用户的对应关系关联表。
下面以一个具体实例来说明请求和响应收集的过程:
先用A1,A2的用户账号密码登录,将该应用程序的所有流程都执行一遍,这期间,利用浏览器代理,将所有操作所发出的请求和响应都记录下来。比如针对同一个url请求http://www.baidu.com,如下表1所示,会在request表生成两条请求记录,属于A1的请求的参数分别是p1,p2,p3,参数值分别为1,2,3,而属于A2的请求的参数分别是p1,p2,p4,参数值分别是4,5,6。
cookie | url | param | value | id |
A1-cookie | http://www.baidu.com?p1=1&p2=2&p3=3 | p1,p2,p3 | 1,2,3 | 1 |
A2-cookie | http://www.baidu.com?p1=4&p2=5&p4=6 | p1,p2,p4 | 4,5,6 | 2 |
表1
针对上述表1中的两个请求会生成两个返回信息,在response表生成两条响应记录,如下表2所示,对应表1中的请求的id,在表2中“resquestid”一栏中,1表示表1中id为1的请求的响应,2表示表1中id为2的请求的响应。
Serial number | resquestid | response_str |
1 | 1 | {"status":"0","msg":"","data":"123" |
2 | 2 | {"status":"0","msg":"","data":"456" |
表2
S3)、根据关联表,将分别属于A1和A2所对应的请求中的参数分别做全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表。具体地,根据上述步骤2形成的cookie和用户的关联表,找到用户A1和A2所对应的cookie信息,然后根据cookie信息在request表中找到A1和A2所对应的请求信息(如表1),然后将分别属于A1和A2的请求中的参数进行替换,将替换后的请求存放在水平权限请求回放记录表中,如下表3所示,记录了分别属于A1和A2的请求参数互相替换后的几种情况,如:第一条属于A1的请求,完全用的是A2的请求中的参数,第二调属于A1的请求,前两个参数(p1=1&p2=2)用的是其本身的参数,第三个参数(p4=6)用的是A2的请求中的参数。
表3
另外,如下表4所示,除了上述的相同长度的参数进行替换外,还可以自由组合参数的数量,使用A1用户的cookie,使用相同的url,可以分别使用A2用户请求参数中p1,p2,p4的其中一个参数,也可以p1,p2组合,p1和p4组合,p2和p4组合。
cookie | url |
A1-cookie | http://www.baidu.com?p1=4 |
A1-cookie | http://www.baidu.com?&p2=5 |
A1-cookie | http://www.baidu.com?p4=6 |
A1-cookie | http://www.baidu.com?p1=4&p2=5 |
表4
S4)、回放水平权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;本步骤中,将上述步骤3中生成的水平权限请求回放记录表中的请求进行重新执行,并对响应值进行记录,从而生成回放响应表。在请求回放期间,要确保cookie不过期,可采用cookie心跳机制,保持cookie存活,或者根据配置页面的用户信息,重新登录接口,然后拿到对应角色对应用户的cookie,进行流量回放操作。
S5)、对比reponse表和回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
实施例2,检测web应用垂直越权的方法,如图2,其包括如下步骤:
S1)、通过两个不同的用户账号登陆待检测应用程序,并遍历应用程序中的所有功能,本实施例中,该两用户账号分别为A1和B1,分别属于两个不同角色,A1属于普通用户角色,B1属于管理员用户角色。测试工作开始时,由测试人员分别使用A1和B1登录应用程序,并将应用程序中的所有功能操作一遍。
S2)、收集并记录当前浏览器的所有请求信息和响应信息,从而形成request表和reponse表,并根据为A1和B1配置的用户信息,形成请求、角色和用户的对应关系关联表。此步骤的具体工作过程与上述实施例相同,不再详细叙述,最后生成的request表中的请求记录如下表5所示。
cookie | url | param | value | id |
A1-cookie | http://www.baidu.com/page1?p1=1&p2=2&p3=3 | p1,p2,p3 | 1,2,3 | 1 |
B1-cookie | http://www.baidu.com/page2?p1=4 | p1 | 4 | 2 |
表5
S3)、根据关联表,将分别属于A1和B1所对应的请求中的参数和主体分别做全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表。本实施例中,在对请求中要素进行替换时,要分别替换请求的主体和参数,如,对于其中一个url请求:http://www.baidu.com/page1?p1=1&p2=2&p3=3,其主体部分为http://www.baidu.com/page1?,其参数包括三个,分别为p1=1、p2=2、p3=3。具体地,根据上述步骤2形成的cookie和用户的关联表,找到用户A1和B1所对应的cookie信息,然后根据cookie信息在request表中找到A1和B1所对应的请求信息(如表5),然后将分别属于A1和B1的请求中的参数和主体进行替换,将替换后的请求存放在垂直权限请求回放记录表中,如下表6所示,记录了分别属于A1和B1的请求要素互相替换后的几种情况,其中,第一条属于A1的请求,完全用的是B1请求中的要素,第二至第四条属于A1的请求,主体部分用的是B1的,参数用的是其自身的。
cookie | url |
A1-cookie | http://www.baidu.com/page2?p1=4 |
A1-cookie | http://www.baidu.com/page2?p1=1&p2=2&p3=3 |
A1-cookie | http://www.baidu.com/page2?p1=1&p2=2 |
A1-cookie | http://www.baidu.com/page2?p1=1 |
B1-cookie | http://www.baidu.com/page1?p1=1&p2=2&p3=3 |
B1-cookie | http://www.baidu.com/page1?p1=4 |
B1-cookie | http://www.baidu.com/page1?p1=1&p2=2 |
B11-cookie | http://www.baidu.com/page1?p1=1 |
表6
S4)、回放垂直权限请求回放记录表中所存储的请求,其具体过程与上述实施例1中的步骤4相同,不再赘述。
S5)、对比reponse表和回放响应表,得出响应相似度,从而生成并上报用于判断是否垂直越权的相似度分析结果。
通过上述检测方法,不需要了解应用程序的所有接口,而且不需要手动对每个接口进行测试,只需登录应用程序将其所有功能操作一遍,即可分析系统是否存在越权漏洞,属于半自动方式检测。另外,基于替换请求参数然后计算响应相似度的方式来检测是否存在越权漏洞,准确率高。
进一步地,在两个实施例中的步骤5中,响应相似度得出方法具体包括:将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度。另外,相似度分析结果包括若干组展示表,如下表7所示,每一组展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及原响应与替换后的响应之间的相似度,此处,该替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。
原请求 | 原响应 | 替换后的请求 | 替换后的响应 | 相似度 |
请求1 | 响应1 | r_请求10(此处仅显示替换参数请求中相似度最高者) | 响应r10 | 90% |
请求2 | 响应2 | r_请求20(此处仅显示替换参数请求中相似度最高者) | 响应r20 | 95% |
表7
较佳地,如下表8所示,可根据需求全部展示与原请求对应的多个替换后的请求、替换后的响应、替换的要素以及相似度。当需要全部显示替换后的请求的越权情况时,可在表8中手动点击每一组展示表中的原请求项,即可调出全部越权相似度分析结果。
表8
在本实施例中,对比response表和回放响应表,对于每个用户的每个请求返回的响应,都有其他用户对应的替换要素后形成的多个响应,将这些响应和原响应进行比较,得出响应的相似度,并在展示表中展示,从而使得用户可快速了解检测结果。
较佳地,在上述两个实施例中,还包括有步骤6:根据相似度分析结果以及应用程序的实际逻辑设置,对水平权限请求回放记录表或垂直权限请求回放记录表中的请求的主体和/或参数进行标记,通过对请求的主体进行标记,以判断请求是否越权,通过对请求的参数进行标记,以判断参数是否影响越权。本实施例中,通过对请求及其参数进行标记,可进一步提高检测的准确率和检测效率。如,展示表中上报的某一请求的越权率(也即相似度)很高,比如是100%,但是用户觉得这是一个正常的请求,可以将其标记成正常,下次请求数据收集时,自动过滤掉该请求,如果展示表中上报的某一请求的越权率很低,比如10%,但用户觉得这是一个越权的url,可以直接标记该请求为越权,下次检测上报时,同时显示上报的越权概率和用户标记的越权标记,帮助用户排查该越权问题是否解决。如果是替换某个参数后越权相似度很高,但该请求不越权的情况下,可以标记该参数,下次回放请求时,剔除更换该参数回放记录,认为该参数是通用配置参数,不是影响越权的主要参数。
另外,为帮助用户了解系统检测和计算的偶然性,提高检测准确率,可重复执行上述检测方法中的步骤1至步骤5,通过收集到的多组相似度分析结果,根据标准差计算公式,对每一展示表中的相似度进行标准差计算,将计算结果显示在展示表中,对标准差过大的请求项进行人工分析,以剔除偶然因素。如上述表8中,对于r_请求10,通过三次检测,得到的相似度分别为90%、85%、95%,那么通过标准差计算后,在展示表中与与r_请求10对应的相似度的标准差为5%。
由于越权漏洞不可能通过一两次检测就可全部解决,在实际应用过程中,需要不断的对越权漏洞问题进行检测和处理,以保证应用程序的正常运行,因此,较佳地,在应用程序在工作过程中,可实时收集请求流量和响应流量,以对request表和reponse表进行更新,进而对请求回放记录表进行更新,从而在系统空闲时,不断地进行相似度比对和上报,以便发现更多的越权问题。
为位于上述检测方法的自动运行,本发明还公开一种检测web应用越权的系统,如图3,其包括遍历模块10、数据收集模块11、数据处理模块12、回放模块13以及分析上报模块14;遍历模块10用于通过使用不同的用户账号登陆待检测应用程序,以遍历应用程序中的所有功能;数据收集模块11,用于收集并记录当前浏览器的所有原始请求信息和原始响应信息,从而形成request表和reponse表,并根据为应用程序的各个用户角色配置的用户信息,形成请求、角色和用户的对应关系关联表;数据处理模块12与数据收集模块11电性连接,当遍历模块10中的两个用户账号属于同一角色时,数据处理模块12用于根据关联表,将分别与两个用户所对应的请求中的参数彼此作全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表;当遍历模块10中的两个用户账号分别属于两个角色时,数据处理模块12用于根据关联表,将分别与两个用户所对应的请求的主体作彼此替换,且参数作全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表;回放模块13与数据处理模块12电性连接,用于回放水平权限请求回放记录表和/或垂直权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;分析上报模块14与数据处理模块12和回放模块13电性连接,用于对比reponse表和回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
较佳地,分析上报模块14包括相似度计算模块140和分组展示模块141;通过相似度计算模块140,将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度;分组展示模块141,用于生成若干组若干组展示表,每一组展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及原响应与替换后的响应之间的相似度,此处,替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。较佳地,通过分组展示模块141,可根据需求全部展示与原请求对应的多个参数替换后的请求、替换后的响应、替换的要素以及相似度。
另外,本发明检测web应用越权的系统还包括与分析上报模块14电性连接的标记模块15,标记模块15用于根据相似度分析结果以及应用程序的实际逻辑设置,对请求回放记录表中的请求的主体和/或参数进行标记,通过对请求的主体进行标记,以判断请求是否越权,通过对请求的参数进行标记,以判断参数是否影响越权。进一步地,本发明检测web应用越权的系统还包括实时更新模块16,实时更新模块16用于在应用程序工作过程中,实时收集请求流量和响应流量,以对request表和reponse表进行更新,进而对请求回放记录表进行更新。
本实施例中的检测web应用越权的系统的工作原理和过程相近上述检测web应用水平以及垂直越权的方法,在此不再赘述。
本发明还公开一种另外一种,检测web应用越权的系统,其包括一个或多个处理器、存储器、以及一个或多个程序,其中一个或多个程序被存储在存储器中,并且被配置成由一个或多个处理器执行,程序包括用于执行如上所述的检测web应用越权的方法的指令。
另外,本发明还公开一种计算机可读存储介质,其包括测试用计算机程序,计算机程序可被处理器执行以完成如上所述的检测web应用越权的方法。
以上所揭露的仅为本发明的较佳实例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属于本发明所涵盖的范围。
Claims (12)
1.一种检测web应用越权的方法,其特征在于,包括如下步骤:
S1)、通过两个不同的用户账号登陆待检测应用程序,并遍历所述应用程序中的所有功能;
S2)、收集并记录当前浏览器的所有请求信息和响应信息,从而形成request表和reponse表,并根据为所述应用程序的各个用户角色配置的用户信息,形成请求、角色和用户的对应关系关联表;
S3)、当所述步骤1中的两个用户账号属于同一角色时,根据所述关联表,将分别与两个用户所对应的请求中的参数彼此作全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表;
当所述步骤1中的两个用户账号分别属于两个角色时,根据所述关联表,将分别与两个用户所对应的请求的主体作彼此替换,且参数作全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表;
S4)、回放所述步骤3中形成的水平权限请求回放记录表和/或垂直权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;
S5)、对比所述reponse表和所述回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
2.根据权利要求1所述的检测web应用越权的方法,其特征在于,在所述步骤5中,所述响应相似度得出方法具体包括:将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度;所述相似度分析结果包括若干组展示表,每一组所述展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及所述原响应与所述替换后的响应之间的相似度,此处,所述替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。
3.根据权利要求2所述的检测web应用越权的方法,其特征在于,所述展示表中,还可根据需求全部展示与所述原请求对应的多个替换后的请求、替换后的响应、替换的要素以及相似度。
4.根据权利要求1所述的检测web应用越权的方法,其特征在于,还包括步骤S6):根据所述相似度分析结果以及所述应用程序的实际逻辑设置,对所述请求回放记录表中的请求的主体和/或参数进行标记,通过对所述请求的主体进行标记,以判断所述请求是否越权,通过对所述请求的参数进行标记,以判断所述参数是否影响越权。
5.根据权利要求1所述的检测web应用越权的方法,其特征在于,所述应用程序在工作过程中,实时收集请求流量和响应流量,以对所述request表和reponse表进行更新,进而对所述请求回放记录表进行更新。
6.一种检测web应用越权的系统,其特征在于,包括遍历模块、数据收集模块、数据处理模块、回放模块以及分析上报模块;
所述遍历模块,用于通过使用不同的用户账号登陆待检测应用程序,以遍历所述应用程序中的所有功能;
所述数据收集模块,用于收集并记录当前浏览器的所有原始请求信息和原始响应信息,从而形成request表和reponse表,并根据为所述应用程序的各个用户角色配置的用户信息,形成请求、角色和用户的对应关系关联表;
所述数据处理模块,其与所述数据收集模块电性连接,当所述遍历模块中的两个用户账号属于同一角色时,所述数据处理模块用于根据所述关联表,将分别与两个用户所对应的请求中的参数彼此作全部或部分替换,将替换后的请求进行存储,形成水平权限请求回放记录表;
当所述遍历模块中的两个用户账号分别属于两个角色时,所述数据处理模块用于根据所述关联表,将分别与两个用户所对应的请求的主体作彼此替换,且参数作全部或部分替换,将替换后的请求进行存储,形成垂直权限请求回放记录表;
所述回放模块,其与所述数据处理模块电性连接,用于回放所述水平权限请求回放记录表和/或垂直权限请求回放记录表中所存储的请求,并分别记录每条请求所形成的响应,生成回放响应表;
所述分析上报模块,其与所述数据处理模块和所述回放模块电性连接,用于对比所述reponse表和所述回放响应表,得出响应相似度,从而生成并上报用于判断是否越权的相似度分析结果。
7.根据权利要求6所述的检测web应用越权的系统,其特征在于,所述分析上报模块包括相似度计算模块和分组展示模块;通过所述相似度计算模块,将通过替换后形成的多个请求所对应的响应值逐一与原请求所对应的响应值进行比较,从而分别计算出一相似度;所述分组展示模块,用于生成若干组若干组展示表,每一组所述展示表中包括有一原请求、一原响应、一替换后的请求、一替换后的响应及所述原响应与所述替换后的响应之间的相似度,此处,所述替换后的请求为对原请求进行替换后形成的多个请求中与原请求相似度最高者。
8.根据权利要求7所述的检测web应用越权的系统,其特征在于,通过所述分组展示模块,可根据需求全部展示与所述原请求对应的多个参数替换后的请求、替换后的响应、替换的要素以及相似度。
9.根据权利要求6所述的检测web应用越权的系统,其特征在于,还包括与所述分析上报模块电性连接的标记模块,所述标记模块用于根据所述相似度分析结果以及所述应用程序的实际逻辑设置,对所述请求回放记录表中的请求的主体和/或参数进行标记,通过对所述请求的主体进行标记,以判断所述请求是否越权,通过对所述请求的参数进行标记,以判断所述参数是否影响越权。
10.根据权利要求6所述的检测web应用越权的系统,其特征在于,还包括实时更新模块,所述实时更新模块用于在所述应用程序工作过程中,实时收集请求流量和响应流量,以对所述request表和reponse表进行更新,进而对所述请求回放记录表进行更新。
11.一种检测web应用越权的系统,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权力要求1至5任一项所述的检测web应用越权的方法的指令。
12.一种计算机可读存储介质,其特征在于,包括测试用计算机程序,所述计算机程序可被处理器执行以完成如权力要求1至5任一项所述的检测web应用越权的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889750.1A CN110674507A (zh) | 2019-09-19 | 2019-09-19 | 检测web应用越权的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889750.1A CN110674507A (zh) | 2019-09-19 | 2019-09-19 | 检测web应用越权的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110674507A true CN110674507A (zh) | 2020-01-10 |
Family
ID=69076952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910889750.1A Pending CN110674507A (zh) | 2019-09-19 | 2019-09-19 | 检测web应用越权的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674507A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404937A (zh) * | 2020-03-16 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 一种服务器漏洞的检测方法和装置 |
CN111416811A (zh) * | 2020-03-16 | 2020-07-14 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、系统、设备及存储介质 |
CN111414614A (zh) * | 2020-03-20 | 2020-07-14 | 上海中通吉网络技术有限公司 | 越权检测方法和辅助装置 |
CN112491807A (zh) * | 2020-11-05 | 2021-03-12 | 杭州孝道科技有限公司 | 基于交互式应用检测技术的水平越权漏洞检测方法 |
CN113032787A (zh) * | 2021-03-12 | 2021-06-25 | 北京安全共识科技有限公司 | 一种系统漏洞检测方法及装置 |
CN114499960A (zh) * | 2021-12-24 | 2022-05-13 | 深圳开源互联网安全技术有限公司 | 一种csrf漏洞识别方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932426A (zh) * | 2018-06-27 | 2018-12-04 | 平安科技(深圳)有限公司 | 越权漏洞检测方法和装置 |
CN110084044A (zh) * | 2019-03-14 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 针对水平越权漏洞自动进行测试的方法及相关设备 |
CN110225031A (zh) * | 2019-06-06 | 2019-09-10 | 深圳开源互联网安全技术有限公司 | 动态权限漏洞检测方法、系统、装置及可读存储介质 |
-
2019
- 2019-09-19 CN CN201910889750.1A patent/CN110674507A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932426A (zh) * | 2018-06-27 | 2018-12-04 | 平安科技(深圳)有限公司 | 越权漏洞检测方法和装置 |
CN110084044A (zh) * | 2019-03-14 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 针对水平越权漏洞自动进行测试的方法及相关设备 |
CN110225031A (zh) * | 2019-06-06 | 2019-09-10 | 深圳开源互联网安全技术有限公司 | 动态权限漏洞检测方法、系统、装置及可读存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404937A (zh) * | 2020-03-16 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 一种服务器漏洞的检测方法和装置 |
CN111416811A (zh) * | 2020-03-16 | 2020-07-14 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、系统、设备及存储介质 |
CN111416811B (zh) * | 2020-03-16 | 2022-07-22 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、系统、设备及存储介质 |
CN111414614A (zh) * | 2020-03-20 | 2020-07-14 | 上海中通吉网络技术有限公司 | 越权检测方法和辅助装置 |
CN111414614B (zh) * | 2020-03-20 | 2024-04-05 | 上海中通吉网络技术有限公司 | 越权检测方法和辅助装置 |
CN112491807A (zh) * | 2020-11-05 | 2021-03-12 | 杭州孝道科技有限公司 | 基于交互式应用检测技术的水平越权漏洞检测方法 |
CN113032787A (zh) * | 2021-03-12 | 2021-06-25 | 北京安全共识科技有限公司 | 一种系统漏洞检测方法及装置 |
CN113032787B (zh) * | 2021-03-12 | 2024-05-07 | 北京基调网络股份有限公司 | 一种系统漏洞检测方法及装置 |
CN114499960A (zh) * | 2021-12-24 | 2022-05-13 | 深圳开源互联网安全技术有限公司 | 一种csrf漏洞识别方法、装置及计算机可读存储介质 |
CN114499960B (zh) * | 2021-12-24 | 2024-03-22 | 深圳开源互联网安全技术有限公司 | 一种csrf漏洞识别方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674507A (zh) | 检测web应用越权的方法及系统 | |
US9601000B1 (en) | Data-driven alert prioritization | |
KR101828506B1 (ko) | Jvm 및 크로스-jvm 호출 스택들의 시각화 | |
CN109977689B (zh) | 一种数据库安全审计方法、装置及电子设备 | |
CN106254153B (zh) | 一种网络异常监控方法和装置 | |
Jiang et al. | Efficient fault detection and diagnosis in complex software systems with information-theoretic monitoring | |
US11256683B2 (en) | Method and apparatus for integrating multi-data source user information | |
US20100067390A1 (en) | System and method for discovery of network entities | |
US8204928B2 (en) | System and method for analyzing internet usage | |
US20190197071A1 (en) | System and method for evaluating nodes of funnel model | |
CN107085549B (zh) | 故障信息生成的方法和装置 | |
CN107682345B (zh) | Ip地址的检测方法、检测装置及电子设备 | |
JP2019500680A5 (zh) | ||
CN104935601B (zh) | 基于云的网站日志安全分析方法、装置及系统 | |
CN106294101A (zh) | 页面打点测试方法和装置 | |
Roschke et al. | A flexible and efficient alert correlation platform for distributed ids | |
CN107508809B (zh) | 识别网址类型的方法及装置 | |
JP2010231368A (ja) | 監視方法及び監視プログラム | |
JP2019028891A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN110275878B (zh) | 业务数据检测方法、装置、计算机设备及存储介质 | |
CN104486320B (zh) | 基于蜜网技术的内网敏感信息泄露取证系统及方法 | |
Jiang et al. | Automatic fault detection and diagnosis in complex software systems by information-theoretic monitoring | |
CN113630419A (zh) | 一种基于api流量的数据分类分级及数据安全监测方法及系统 | |
CN110618977B (zh) | 登录异常检测方法、装置、存储介质和计算机设备 | |
CN107563204B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200110 |