CN105357195B - web访问的越权漏洞检测方法及装置 - Google Patents
web访问的越权漏洞检测方法及装置 Download PDFInfo
- Publication number
- CN105357195B CN105357195B CN201510728727.6A CN201510728727A CN105357195B CN 105357195 B CN105357195 B CN 105357195B CN 201510728727 A CN201510728727 A CN 201510728727A CN 105357195 B CN105357195 B CN 105357195B
- Authority
- CN
- China
- Prior art keywords
- parameter
- privately owned
- commission
- url
- indexing
- 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
Classifications
-
- 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
- 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]
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种web访问的越权漏洞检测方法,包括以下步骤:采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数及会话标识,其中,所述URL参数信息包括URL参数及参数值;根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。本发明还公开了一种web访问的越权漏洞检测装置。本发明能覆盖检测测试范围内所有存在越权漏洞的URL参数,识别率高。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种web访问的越权漏洞检测方法及装置。
背景技术
目前互联网中存在的最严重的漏洞之一是越权访问这类漏洞,如在统一资源定位符(Uniform Resource Locator,简称URL)越权漏洞中,由于web程序设计缺陷,利用URL传入参数的可猜测性,通过变更输入的参数值,就可能造成横向越权访问,拿到他人私有信息。URL越权漏洞是一种危害非常大的业务逻辑漏洞,它可以直接绕过基础的网络安全服务防御,越权漏洞发现难度大。现有技术中,网站设计者会对这些参数进行权限校验,确保用户仅能访问到属于自己的资源,但是在这类应用中,诸如此类的数据如此之多,从地址数据、订单信息、支付信息等,无一不需要小心处理。当业务复杂到一定程度之后,很难保证这些数据的访问都经过了严格的权限校验,从而产生了URL越权漏洞。URL越权漏洞能够被攻击者利用,造成横向越权访问,导致用户敏感信息的泄漏。
现有技术中,对URL越权漏洞的检测主要是通过测试人员对web程序进行渗透测试,人工检测出漏洞,即全凭人工对各种URL参数进行无差别的人工检测处理来找到存在越权漏洞的URL参数,不仅效率较低,耗费人力,而且不能确保覆盖检测到测试范围内的所有URL参数。
发明内容
本发明的主要目的在于提供一种web访问的越权漏洞检测方法及装置,旨在高效率地覆盖检测测试范围内所有存在越权漏洞的URL参数。
为实现上述目的,本发明提供的一种web访问的越权漏洞检测方法,所述方法包括以下步骤:
采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;
对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。
优选地,所述根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数的步骤包括:
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;
根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私用参数用于索引用户私有资源。
优选地,所述统计获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数的步骤包括:
统计所述HTTP流量信息中每一URL参数的不同取值个数及访问每一URL参数的访问记录条数;
若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。
优选地,当所述会话标识包括第一会话标识和第二会话标识时,所述对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数的步骤包括:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
优选地,所述对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数的步骤之后还包括:
展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
此外,为实现上述目的,本发明还提供一种web访问的越权漏洞检测装置,所述web访问的越权漏洞检测装置包括:
采集模块,用于采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
识别模块,用于根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;
测试模块,用于对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。
优选地,所述识别模块具体用于:
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;
根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私用参数用于索引用户私有资源。
优选地,所述识别模块具体用于:
统计所述HTTP流量信息中每一URL参数的不同取值个数及访问每一URL参数的访问记录条数;
若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。
优选地,当所述会话标识包括第一会话标识和第二会话标识时,所述测试模块具体用于:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
优选地,所述web访问的越权漏洞检测装置还包括:
展示模块,用于展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
本发明提出的一种web访问的越权漏洞检测方法及装置,通过采集的预设时间内待检测的URL参数信息及会话标识按预设规则识别出待检测的URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;对每一所述私有参数进行预设的越权漏洞测试操作确定存在越权漏洞的私有参数。由于只识别测试范围内所有URL参数中的索引参数,并只对从所述索引参数中提取出的私有参数进行越权漏洞测试,极大地提高了检测效率,且能覆盖检测测试范围内所有存在越权漏洞的URL参数,识别率高。
附图说明
图1为本发明web访问的越权漏洞检测方法第一实施例的流程示意图;
图2为本发明web访问的越权漏洞检测方法第二实施例的流程示意图;
图3为本发明web访问的越权漏洞检测装置第一实施例的功能模块示意图;
图4为本发明web访问的越权漏洞检测装置第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种web访问的越权漏洞检测方法。
参照图1,图1为本发明web访问的越权漏洞检测方法第一实施例的流程示意图。
在第一实施例中,该web访问的越权漏洞检测方法包括:
步骤S10,采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
本实施例中,当需要检测web访问的越权漏洞时,可采集预设时间内经过网关设备的超文本传输协议(HyperText Transfer Protocol,简称HTTP)流量信息,采集的HTTP流量信息可包括:IP信息、URL、URL参数信息、cookie字段内的会话标识等,如可提取HTTP请求包cookie头域中JSESSOINID、ASP.NET_SessionId、PHPSESSID字段的值作为会话标识。其中,待检测的HTTP流量信息的采集时长可由用户或者网关设备根据检测的需要预先设定,如可设置为固定时长,例如可设置该采集时长为1天、7天等;也可设置为固定数量,例如,在某个URL参数的访问记录达到1000时,则停止该URL参数的采集;在此,对HTTP流量信息的采集方式不作限定。采集的HTTP流量信息中的URL参数信息可包括URL参数及对应的参数值等相关信息。
步骤S20,根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;
由于采集的HTTP流量信息中包括所有URL参数、参数值及会话标识,可根据每一URL参数在采集的HTTP流量信息中的出现次数、取值特征等识别出采集的HTTP流量信息的所有URL参数中用于索引服务器资源的索引参数。其中,在URL传入的参数中,有的参数代表着对服务器某项资源的索引,其参数值标识着一项具体资源,如数据库中的一条记录、某个文件、对象等,将这种用来索引服务器资源的URL参数识别为索引参数。比如针对url:a.com?userId=10&errorId=0,其中对于userId参数,它的值是对数据库中用户信息的索引,可根据userId的参数值在数据库中查询到某个用户的信息,那么识别userId为索引参数。而对于errorId参数,它的值代表的是web程序出错类型,并非对某项资源的索引,因此识别errorId参数不是索引参数。
在识别出所述URL参数中用于索引服务器资源的索引参数后,还可进一步地从所述索引参数中提取出用于索引用户私有资源的私有参数。其中,索引参数标识的资源可能为共享资源,所有用户都可以获取或者修改这项资源,也可能是某个用户私有的,其他用户没有权限访问。如果某个索引参数标识的资源为特定用户私有,则识别该索引参数为私有参数。比如针对url:a.com?userId=10&articleId=1,有两个索引参数userId和articleId,userId参数是对用户信息的索引,每个用户仅能访问自己的用户信息,articleId参数是服务器中存储的文章的索引,文章是共享资源,每个用户都可以访问读取任何文章,因此识别userId参数为私有参数,而articleId参数不是私有参数。
在识别出所述URL参数中用于索引服务器资源的索引参数后,利用会话标识统计一个特定用户在每一会话中访问的索引参数取值情况,根据一个特定用户在每一会话中访问的索引参数取值情况可从所述索引参数中提取出用于索引用户私有资源的私有参数。
步骤S30,对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。
在横向越权访问中,若用户A和用户B属于同一角色X,拥有相同的权限等级,用户A和用户B能获取各自的私有数据(数据A和数据B),但如果***只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就构成了横向越权访问。本实施例中,针对用户能通过所述私有参数获取对方私有数据导致越权漏洞的特征,可对每一所述私有参数进行预设的越权漏洞测试操作,如更改所述私有参数的值形成测试***进行测试、更改所述私有参数的值访问不同用户的私有数据等方式测试私有参数是否存在越权漏洞。根据测试结果即可确定存在越权漏洞的私有参数。
本实施例通过采集的预设时间内待检测的URL参数信息及会话标识按预设规则识别出待检测的URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;对每一所述私有参数进行预设的越权漏洞测试操作确定存在越权漏洞的私有参数。由于只识别测试范围内所有URL参数中的索引参数,并只对从所述索引参数中提取出的私有参数进行越权漏洞测试,极大地提高了检测效率,且能覆盖检测测试范围内所有存在越权漏洞的URL参数,识别率高。
进一步地,在其他实施例中,上述步骤S20可以包括:
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;
根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私用参数用于索引用户私有资源。
本实施例中,由于索引参数是用于索引服务器资源的参数,而服务器资源非常繁多,需要索引不同服务器资源的索引参数的取值也很多,在不同用户的大量HTTP流量信息中索引参数的取值个数也会很多。因此,利用索引参数的这一特征,可统计获取所述HTTP流量信息中URL参数的取值特征,将取值特征符合预设条件的URL参数识别为索引参数。具体地,可统计所述HTTP流量信息中每一URL参数的不同取值个数及访问每一URL参数的访问记录条数;若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。例如对于采集的HTTP流量信息中出现的每个URL参数,可通过以下条件来识别索引参数:
(1)n_total≥threshold1,
(2)rate≥threshold2,
其中,rate=n_unique/n_total,n_total为访问该URL参数的记录总条数,n_unique为该URL参数不同取值的个数。threshold1、threshold2可根据具体需求进行设置,如threshold1可取1000,以保证样本量充足;threshold2可取0.1,当然,也不限定threshold1、threshold2为其他取值。当URL参数同时满足条件(1)、(2)时,则识别该URL参数为索引参数。如针对采集的HTTP流量信息中的url:a.com?userId=10&errorId=1,各有1000条记录访问userId和errorId这两个URL参数,这1000条记录中,userId参数有350个不同取值,则userId参数对应的rate值为0.35,而errorId参数只有10个不同取值,则errorId参数对应的rate值为0.01,那么根据上述索引参数的识别条件(1)、(2),识别userId参数为索引参数,而errorId参数则不是索引参数。
而对于私有参数来说,每个用户仅能访问属于自己的资源的参数值。会话标识在其有效期内标记的是一个特定用户,因此,一个会话标识在其周期内访问到的参数值应该是唯一的。因此,可根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数。具体地,在采集HTTP流量信息中,统计每个索引参数的每一个会话所访问的不同参数值个数,并计算获取每一索引参数的平均单个会话访问的不同参数值个数values_per_session。若values_per_session<threshold3,则识别该索引参数为私有参数。在实际场景中,由于一些特殊情况如存在攻击流量等,导致一个会话标识在其周期内访问到的参数值也不一定是唯一的,即私有参数的平均单个会话访问的不同参数值个数values_per_session的值不绝对等于1,但是接近于1,因此,为了适应实际场景中对私有参数的识别,本实施例中,设置判断阈值threshold3为1.5,当然,也可根据需要对threshold3的取值进行调整,在此不作限定。如针对采集的HTTP流量信息中的url:a.com?userId=10&articleId=1,识别出两个索引参数userId参数和articleId参数,userId参数作为服务器数据库中用户信息的索引,articleId参数作为服务器存储的文章的索引。统计采集的HTTP流量信息中所有访问userId参数的记录,通过计算得到userId参数的单个会话平均访问1.05个不同参数值,即userId参数的values_per_session=1.05,也就是说,所有访问userId参数的会话,基本上每个会话仅访问一个参数值,满足私有参数的判别条件,所以识别userId参数为私有参数。同样,对于articleId参数,统计到单个会话平均访问了6.52个不同参数值,即articleId参数的values_per_session=6.52,说明该参数值索引的资源与用户并不是一一对应,所以识别articleId参数为非私有参数。
这样,本实施例中,能通过对采集的所述HTTP流量信息中URL参数的具体取值特征进行统计,识别出所述HTTP流量信息中用来索引服务器资源的索引参数。再从所述索引参数中提取出用于索引用户私有资源的私有参数;以供后续通过对识别出的私有参数进行越权漏洞测试及监控来检测web访问中是否存在越权漏洞。
进一步地,在其他实施例中,当所述会话标识包括第一会话标识和第二会话标识时,上述步骤S30可以包括:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
本实施例中,在对识别出的私有参数进行越权漏洞测试时,可在网关设备对每个私有参数进行越权漏洞测试。如若监听到某个HTTP请求以会话标识SessionIdA访问该私有参数,参数值记为ParamA,记录返回页面记PageA;若监听到某个HTTP请求以会话标识SessionIdB访问该私有参数,参数值记为ParamB,记录返回页面记PageB。构造HTTP请求,使用会话标识SessionIdB、参数值ParamA,访问该参数,记录返回页面PageBA。若PageA≠PageB,且PageA=PageBA,则确定该私有参数存在越权漏洞。例如userId为识别出的私有参数,是对用户信息的索引。在网关设备对该userId参数进行监控,如果监测到用户A访问了参数userId=a,用户B访问了参数userId=b,即可构造HTTP请求,使用用户B的会话标识访问参数userId=a,如果服务器返回的信息与用户A相同,那么说明userId这个参数存在越权漏洞。
本实施例中通过对每一私有参数进行监控及测试,可识别出存在越权漏洞的私有参数,可覆盖检测测试范围内所有存在越权漏洞的URL参数,可以自动化识别出存在URL越权漏洞的web应用以及具体存在漏洞的URL参数。
如图2所示,本发明第二实施例提出一种web访问的越权漏洞检测方法,在上述实施例的基础上,在上述步骤S30之后还包括:
步骤S40,展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
本实施例中在识别出存在越权漏洞的私有参数后,展示存在越权漏洞的私有参数,以及时告知用户当前存在越权漏洞的URL参数,并提示用户针对存在越权漏洞的URL参数进行相应的风险防护操作,从而有效地避免因越权漏洞导致用户的敏感数据泄漏。
本发明进一步提供一种web访问的越权漏洞检测装置。
参照图3,图3为本发明web访问的越权漏洞检测装置第一实施例的功能模块示意图。
在第一实施例中,该web访问的越权漏洞检测装置包括:
采集模块01,用于采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
本实施例中,当需要检测web访问的越权漏洞时,可采集预设时间内经过网关设备的超文本传输协议(HyperText Transfer Protocol,简称HTTP)流量信息,采集的HTTP流量信息可包括:IP信息、URL、URL参数信息、cookie字段内的会话标识等,如可提取HTTP请求包cookie头域中JSESSOINID、ASP.NET_SessionId、PHPSESSID字段的值作为会话标识。其中,待检测的HTTP流量信息的采集时长可由用户或者网关设备根据检测的需要预先设定,如可设置为固定时长,例如可设置该采集时长为1天、7天等;也可设置为固定数量,例如,在某个URL参数的访问记录达到1000时,则停止该URL参数的采集;在此,对HTTP流量信息的采集方式不作限定。采集的HTTP流量信息中的URL参数信息可包括URL参数及对应的参数值等相关信息。
识别模块02,用于根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;
由于采集的HTTP流量信息中包括所有URL参数、参数值及会话标识,可根据每一URL参数在采集的HTTP流量信息中的出现次数、取值特征等识别出采集的HTTP流量信息的所有URL参数中用于索引服务器资源的索引参数。其中,在URL传入的参数中,有的参数代表着对服务器某项资源的索引,其参数值标识着一项具体资源,如数据库中的一条记录、某个文件、对象等,将这种用来索引服务器资源的URL参数识别为索引参数。比如针对url:a.com?userId=10&errorId=0,其中对于userId参数,它的值是对数据库中用户信息的索引,可根据userId的参数值在数据库中查询到某个用户的信息,那么识别userId为索引参数。而对于errorId参数,它的值代表的是web程序出错类型,并非对某项资源的索引,因此识别errorId参数不是索引参数。
在识别出所述URL参数中用于索引服务器资源的索引参数后,还可进一步地从所述索引参数中提取出用于索引用户私有资源的私有参数。其中,索引参数标识的资源可能为共享资源,所有用户都可以获取或者修改这项资源,也可能是某个用户私有的,其他用户没有权限访问。如果某个索引参数标识的资源为特定用户私有,则识别该索引参数为私有参数。比如针对url:a.com?userId=10&articleId=1,有两个索引参数userId和articleId,userId参数是对用户信息的索引,每个用户仅能访问自己的用户信息,articleId参数是服务器中存储的文章的索引,文章是共享资源,每个用户都可以访问读取任何文章,因此识别userId参数为私有参数,而articleId参数不是私有参数。
在识别出所述URL参数中用于索引服务器资源的索引参数后,利用会话标识统计一个特定用户在每一会话中访问的索引参数取值情况,根据一个特定用户在每一会话中访问的索引参数取值情况可从所述索引参数中提取出用于索引用户私有资源的私有参数。
测试模块03,用于对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。
在横向越权访问中,若用户A和用户B属于同一角色X,拥有相同的权限等级,用户A和用户B能获取各自的私有数据(数据A和数据B),但如果***只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就构成了横向越权访问。本实施例中,针对用户能通过所述私有参数获取对方私有数据导致越权漏洞的特征,可对每一所述私有参数进行预设的越权漏洞测试操作,如更改所述私有参数的值形成测试***进行测试、更改所述私有参数的值访问不同用户的私有数据等方式测试私有参数是否存在越权漏洞。根据测试结果即可确定存在越权漏洞的私有参数。
本实施例通过采集的预设时间内待检测的URL参数信息及会话标识按预设规则识别出待检测的URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;对每一所述私有参数进行预设的越权漏洞测试操作确定存在越权漏洞的私有参数。由于只识别测试范围内所有URL参数中的索引参数,并只对从所述索引参数中提取出的私有参数进行越权漏洞测试,极大地提高了检测效率,且能覆盖检测测试范围内所有存在越权漏洞的URL参数,识别率高。
进一步地,在其他实施例中,上述识别模块02可以用于:
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;
根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私用参数用于索引用户私有资源。
本实施例中,由于索引参数是用于索引服务器资源的参数,而服务器资源非常繁多,需要索引不同服务器资源的索引参数的取值也很多,在不同用户的大量HTTP流量信息中索引参数的取值个数也会很多。因此,利用索引参数的这一特征,可统计获取所述HTTP流量信息中URL参数的取值特征,将取值特征符合预设条件的URL参数识别为索引参数。具体地,可统计所述HTTP流量信息中每一URL参数的不同取值个数及访问每一URL参数的访问记录条数;若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。例如对于采集的HTTP流量信息中出现的每个URL参数,可通过以下条件来识别索引参数:
(1)n_total≥threshold1,
(2)rate≥threshold2,
其中,rate=n_unique/n_total,n_total为访问该URL参数的记录总条数,n_unique为该URL参数不同取值的个数。threshold1、threshold2可根据具体需求进行设置,如threshold1可取1000,以保证样本量充足;threshold2可取0.1,当然,也不限定threshold1、threshold2为其他取值。当URL参数同时满足条件(1)、(2)时,则识别该URL参数为索引参数。如针对采集的HTTP流量信息中的url:a.com?userId=10&errorId=1,各有1000条记录访问userId和errorId这两个URL参数,这1000条记录中,userId参数有350个不同取值,则userId参数对应的rate值为0.35,而errorId参数只有10个不同取值,则errorId参数对应的rate值为0.01,那么根据上述索引参数的识别条件(1)、(2),识别userId参数为索引参数,而errorId参数则不是索引参数。
而对于私有参数来说,每个用户仅能访问属于自己的资源的参数值。会话标识在其有效期内标记的是一个特定用户,因此,一个会话标识在其周期内访问到的参数值应该是唯一的。因此,可根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数。具体地,在采集HTTP流量信息中,统计每个索引参数的每一个会话所访问的不同参数值个数,并计算获取每一索引参数的平均单个会话访问的不同参数值个数values_per_session。若values_per_session<threshold3,则识别该索引参数为私有参数。在实际场景中,由于一些特殊情况如存在攻击流量等,导致一个会话标识在其周期内访问到的参数值也不一定是唯一的,即私有参数的平均单个会话访问的不同参数值个数values_per_session的值不绝对等于1,但是接近于1,因此,为了适应实际场景中对私有参数的识别,本实施例中,设置判断阈值threshold3为1.5,当然,也可根据需要对threshold3的取值进行调整,在此不作限定。如针对采集的HTTP流量信息中的url:a.com?userId=10&articleId=1,识别出两个索引参数userId参数和articleId参数,userId参数作为服务器数据库中用户信息的索引,articleId参数作为服务器存储的文章的索引。统计采集的HTTP流量信息中所有访问userId参数的记录,通过计算得到userId参数的单个会话平均访问1.05个不同参数值,即userId参数的values_per_session=1.05,也就是说,所有访问userId参数的会话,基本上每个会话仅访问一个参数值,满足私有参数的判别条件,所以识别userId参数为私有参数。同样,对于articleId参数,统计到单个会话平均访问了6.52个不同参数值,即articleId参数的values_per_session=6.52,说明该参数值索引的资源与用户并不是一一对应,所以识别articleId参数为非私有参数。
这样,本实施例中,能通过对采集的所述HTTP流量信息中URL参数的具体取值特征进行统计,识别出所述HTTP流量信息中用来索引服务器资源的索引参数。再从所述索引参数中提取出用于索引用户私有资源的私有参数;以供后续通过对识别出的私有参数进行越权漏洞测试及监控来检测web访问中是否存在越权漏洞。
进一步地,在其他实施例中,当所述会话标识包括第一会话标识和第二会话标识时,上述测试模块03可以用于:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
本实施例中,在对识别出的私有参数进行越权漏洞测试时,可在网关设备对每个私有参数进行越权漏洞测试。如若监听到某个HTTP请求以会话标识SessionIdA访问该私有参数,参数值记为ParamA,记录返回页面记PageA;若监听到某个HTTP请求以会话标识SessionIdB访问该私有参数,参数值记为ParamB,记录返回页面记PageB。构造HTTP请求,使用会话标识SessionIdB、参数值ParamA,访问该参数,记录返回页面PageBA。若PageA≠PageB,且PageA=PageBA,则确定该私有参数存在越权漏洞。例如userId为识别出的私有参数,是对用户信息的索引。在网关设备对该userId参数进行监控,如果监测到用户A访问了参数userId=a,用户B访问了参数userId=b,即可构造HTTP请求,使用用户B的会话标识访问参数userId=a,如果服务器返回的信息与用户A相同,那么说明userId这个参数存在越权漏洞。
本实施例中通过对每一私有参数进行监控及测试,可识别出存在越权漏洞的私有参数,可覆盖检测测试范围内所有存在越权漏洞的URL参数,可以自动化识别出存在URL越权漏洞的web应用以及具体存在漏洞的URL参数。
如图4所示,本发明第二实施例提出一种web访问的越权漏洞检测装置,在上述实施例的基础上,还包括:
展示模块04,用于展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
本实施例中在识别出存在越权漏洞的私有参数后,展示存在越权漏洞的私有参数,以及时告知用户当前存在越权漏洞的URL参数,并提示用户针对存在越权漏洞的URL参数进行相应的风险防护操作,从而有效地避免因越权漏洞导致用户的敏感数据泄漏。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种web访问的越权漏洞检测方法,其特征在于,所述方法包括以下步骤:
采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;
根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私有参数用于索引用户私有资源;
对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数。
2.如权利要求1所述的web访问的越权漏洞检测方法,其特征在于,所述获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数的步骤包括:
统计所述HTTP流量信息中每一URL参数对应的参数值的不同取值个数及访问每一URL参数的访问记录条数;
若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。
3.如权利要求1所述的web访问的越权漏洞检测方法,其特征在于,当所述会话标识包括第一会话标识和第二会话标识时,所述对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数的步骤包括:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
4.如权利要求1所述的web访问的越权漏洞检测方法,其特征在于,所述对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数的步骤之后还包括:
展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
5.一种web访问的越权漏洞检测装置,其特征在于,所述web访问的越权漏洞检测装置包括:
采集模块,用于采集预设时间内待检测的HTTP流量信息,所述HTTP流量信息包括URL参数信息及会话标识,其中,所述URL参数信息包括URL参数及参数值;
识别模块,用于根据所述URL参数信息及会话标识按预设规则识别出所述URL参数中用于索引服务器资源的索引参数,并从所述索引参数中提取出用于索引用户私有资源的私有参数;
测试模块,用于对每一所述私有参数进行预设的越权漏洞测试操作,根据测试结果确定存在越权漏洞的私有参数;
其中,所述识别模块具体用于:
获取所述HTTP流量信息中URL参数对应的参数值的取值特征,将取值特征符合预设条件的URL参数识别为索引参数,所述索引参数用于索引服务器资源;根据所述会话标识获取每一索引参数的平均单个会话访问的不同参数值个数,若索引参数的平均单个会话访问的不同参数值个数小于预设个数,则识别该索引参数为私有参数,所述私有参数用于索引用户私有资源。
6.如权利要求5所述的web访问的越权漏洞检测装置,其特征在于,所述识别模块具体用于:
统计所述HTTP流量信息中每一URL参数对应的参数值的不同取值个数及访问每一URL参数的访问记录条数;
若所述访问记录条数达到预设条数,且URL参数的不同取值个数在所述访问记录条数中所占比例达到预设比例,则识别该URL参数为索引参数。
7.如权利要求5所述的web访问的越权漏洞检测装置,其特征在于,当所述会话标识包括第一会话标识和第二会话标识时,所述测试模块具体用于:
若监测到第一HTTP请求以第一会话标识访问私有参数,获取在所述第一会话标识对应的会话中所述私有参数的第一参数值,并记录反馈的第一返回信息;
若监测到第二HTTP请求以第二会话标识访问所述私有参数,获取在所述第二会话标识对应的会话中所述私有参数的第二参数值,并记录反馈的第二返回信息;
构造使用所述第二会话标识及所述第一参数值的HTTP测试请求来访问所述私有参数,并记录反馈的测试返回信息;
若所述第一返回信息与所述第二返回信息不同,且所述测试返回信息与所述第一返回信息相同,则确定所述私有参数存在越权漏洞。
8.如权利要求5所述的web访问的越权漏洞检测装置,其特征在于,还包括:
展示模块,用于展示存在越权漏洞的私有参数,以供用户针对存在越权漏洞的私有参数进行相应的风险防护操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510728727.6A CN105357195B (zh) | 2015-10-30 | 2015-10-30 | web访问的越权漏洞检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510728727.6A CN105357195B (zh) | 2015-10-30 | 2015-10-30 | web访问的越权漏洞检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105357195A CN105357195A (zh) | 2016-02-24 |
CN105357195B true CN105357195B (zh) | 2019-06-14 |
Family
ID=55333059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510728727.6A Active CN105357195B (zh) | 2015-10-30 | 2015-10-30 | web访问的越权漏洞检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357195B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294919A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种水平权限漏洞的检测方法及装置 |
CN106027528B (zh) * | 2016-05-24 | 2019-07-12 | 微梦创科网络科技(中国)有限公司 | 一种web水平权限自动化识别的方法及装置 |
CN106101082A (zh) * | 2016-05-31 | 2016-11-09 | 乐视控股(北京)有限公司 | 权限漏洞检测方法及装置 |
CN107547490B (zh) * | 2016-06-29 | 2020-12-04 | 阿里巴巴集团控股有限公司 | 一种扫描器识别方法、装置及*** |
CN106713347B (zh) * | 2017-01-18 | 2019-06-11 | 国网江苏省电力公司电力科学研究院 | 一种电力移动应用越权访问漏洞检测方法 |
CN108334758B (zh) * | 2017-01-20 | 2020-08-18 | ***通信集团山西有限公司 | 一种用户越权行为的检测方法、装置及设备 |
CN108667770B (zh) * | 2017-03-29 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 一种网站的漏洞测试方法、服务器及*** |
CN108696490A (zh) * | 2017-04-11 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 账号权限的识别方法及装置 |
CN108875368A (zh) * | 2017-05-10 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种安全检测方法、装置及*** |
CN107577949A (zh) * | 2017-09-05 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种Web越权漏洞检测方法与*** |
CN107920062B (zh) * | 2017-11-03 | 2020-06-05 | 北京知道创宇信息技术股份有限公司 | 一种业务逻辑攻击检测模型的构建方法和计算设备 |
CN108228791A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 数据的识别方法及装置 |
CN108833365B (zh) * | 2018-05-24 | 2021-06-15 | 杭州默安科技有限公司 | 一种基于流量的业务逻辑漏洞检测方法及其*** |
CN110581835B (zh) * | 2018-06-11 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 一种漏洞检测方法、装置及终端设备 |
CN108932426B (zh) * | 2018-06-27 | 2022-05-03 | 平安科技(深圳)有限公司 | 越权漏洞检测方法和装置 |
CN108769070A (zh) * | 2018-06-30 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种越权漏洞检测方法及装置 |
CN110135166B (zh) * | 2019-05-08 | 2021-03-30 | 北京国舜科技股份有限公司 | 一种针对业务逻辑漏洞攻击的检测方法及*** |
CN111107052A (zh) * | 2019-11-04 | 2020-05-05 | 广发银行股份有限公司 | 识别越权检测点的方法、装置、计算机设备和存储介质 |
CN111209565B (zh) * | 2020-01-08 | 2022-12-23 | 招商银行股份有限公司 | 水平越权漏洞检测方法、设备及计算机可读存储介质 |
CN111427774A (zh) * | 2020-03-09 | 2020-07-17 | 深圳开源互联网安全技术有限公司 | 用于应用程序测试实例的请求参数修改方法及*** |
CN111416811B (zh) * | 2020-03-16 | 2022-07-22 | 携程旅游信息技术(上海)有限公司 | 越权漏洞检测方法、***、设备及存储介质 |
CN111949548B (zh) * | 2020-08-24 | 2022-08-26 | 福建国信立联科技集团有限公司 | 一种自动化越权渗透测试方法和存储设备 |
CN112118259B (zh) * | 2020-09-17 | 2022-04-15 | 四川长虹电器股份有限公司 | 一种基于提升树的分类模型的越权漏洞检测方法 |
CN113111951B (zh) * | 2021-04-20 | 2023-08-01 | 浙江网商银行股份有限公司 | 数据处理方法以及装置 |
CN113590461B (zh) * | 2021-06-01 | 2024-04-23 | 的卢技术有限公司 | 一种基于fidder实现汽车用户数据越权的测试方法 |
CN114826717B (zh) * | 2022-04-18 | 2024-02-23 | 深信服科技股份有限公司 | 一种异常访问检测方法、装置、电子设备及存储介质 |
CN115664743A (zh) * | 2022-10-17 | 2023-01-31 | 浙江网商银行股份有限公司 | 行为检测方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301302A (zh) * | 2014-09-12 | 2015-01-21 | 深信服网络科技(深圳)有限公司 | 越权攻击检测方法及装置 |
CN104519070A (zh) * | 2014-12-31 | 2015-04-15 | 北京奇虎科技有限公司 | 网站权限漏洞检测方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9112863B2 (en) * | 2009-12-14 | 2015-08-18 | International Business Machines Corporation | Method, program product and server for controlling a resource access to an electronic resource stored within a protected data environment |
-
2015
- 2015-10-30 CN CN201510728727.6A patent/CN105357195B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301302A (zh) * | 2014-09-12 | 2015-01-21 | 深信服网络科技(深圳)有限公司 | 越权攻击检测方法及装置 |
CN104519070A (zh) * | 2014-12-31 | 2015-04-15 | 北京奇虎科技有限公司 | 网站权限漏洞检测方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN105357195A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357195B (zh) | web访问的越权漏洞检测方法及装置 | |
CN109951500A (zh) | 网络攻击检测方法及装置 | |
CN105471819B (zh) | 账号异常检测方法及装置 | |
CN103368957B (zh) | 对网页访问行为进行处理的方法及***、客户端、服务器 | |
CN107465651A (zh) | 网络攻击检测方法及装置 | |
CN100362805C (zh) | 网络色情图像和不良信息检测多功能管理*** | |
CN109039987A (zh) | 一种用户账户登录方法、装置、电子设备和存储介质 | |
CN103023906B (zh) | 针对远程过程调用协议进行状态跟踪的方法及*** | |
CN108989150A (zh) | 一种登录异常检测方法及装置 | |
CN108768883A (zh) | 一种网络流量识别方法及装置 | |
CN106302534B (zh) | 一种检测和处理非法用户的方法及*** | |
CN107483563A (zh) | 防爬虫的数据查询方法和装置以及客户端和服务器 | |
CN107465648A (zh) | 异常设备的识别方法及装置 | |
CN102710770A (zh) | 一种上网设备识别方法及其实现*** | |
CN107888605A (zh) | 一种物联网云平台流量安全分析方法和*** | |
CN103581909B (zh) | 一种疑似手机恶意软件的定位方法及其装置 | |
CN109831429A (zh) | 一种Webshell检测方法及装置 | |
CN109698809A (zh) | 一种账号异常登录的识别方法及装置 | |
CN108206769A (zh) | 过滤网络质量告警的方法、装置、设备和介质 | |
Ding et al. | Stalking Beijing from Timbuktu: a generic measurement approach for exploiting location-based social discovery | |
CN110417747A (zh) | 一种暴力破解行为的检测方法及装置 | |
CN107528812A (zh) | 一种攻击检测方法及装置 | |
CN102185788A (zh) | 一种基于临时邮箱的查找马甲账号的方法及*** | |
CN106713242A (zh) | 数据请求的处理方法及处理装置 | |
Momen et al. | App-generated digital identities extracted through android permission-based data access-a survey of app privacy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant after: SINFOR Polytron Technologies Inc Address before: 518052 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen |
|
GR01 | Patent grant | ||
GR01 | Patent grant |