CN111209565A - 水平越权漏洞检测方法、设备及计算机可读存储介质 - Google Patents

水平越权漏洞检测方法、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111209565A
CN111209565A CN202010021129.6A CN202010021129A CN111209565A CN 111209565 A CN111209565 A CN 111209565A CN 202010021129 A CN202010021129 A CN 202010021129A CN 111209565 A CN111209565 A CN 111209565A
Authority
CN
China
Prior art keywords
access request
parameter
preset
access
detected
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.)
Granted
Application number
CN202010021129.6A
Other languages
English (en)
Other versions
CN111209565B (zh
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.)
China Merchants Bank Co Ltd
Original Assignee
China Merchants Bank 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 China Merchants Bank Co Ltd filed Critical China Merchants Bank Co Ltd
Priority to CN202010021129.6A priority Critical patent/CN111209565B/zh
Publication of CN111209565A publication Critical patent/CN111209565A/zh
Application granted granted Critical
Publication of CN111209565B publication Critical patent/CN111209565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种水平越权漏洞检测方法、设备及计算机可读存储介质,该方法包括以下步骤:遍历预设资源库中的访问请求,并对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数;根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问;根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞。本发明因用于确定web应用是否存在水平越权漏洞的响应结果依据待检测参数生成,而待检测参数来源于访问请求,使得针对web应用中各功能的访问请求均可触发检测,确保了检测的灵活性和全面性。

Description

水平越权漏洞检测方法、设备及计算机可读存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种水平越权漏洞检测方法、设备及计算机可读存储介质。
背景技术
随着互联网技术的发展,web(World Wide Web,全球广域网,也称为万维网)应用的普及程度越来越高。web应用是通过web访问的应用程序,只需要在终端中安装浏览器,即可实现对各应用软件进行访问,方便了对应用软件的访问需求。
但是,互联网在给人们生活带来便利的同时,也使得不法分子对互联网的网络攻击大幅增加。web应用中,水平越权漏洞是常见的安全漏洞,攻击者利用该漏洞可能造成大量用户敏感数据泄密丢失、用户资金恶意盗刷等安全问题。因此,如何增强web应用的水平越权漏洞,提前发现安全隐患,已成为当前web应用的迫切需要。
现阶段对Web应用的安全检测主要是通过通用扫描工具或者人工渗透来实现,但是通用扫描工具只能覆盖常规漏洞,针对产品个性化特点的漏洞,通用扫描工具则无法检测,检测的灵活性差。而人工渗透需要反复投入人力,且在web应用所支持功能较多的情况下,容易遗漏。从而如何提高web应用水平越权漏洞的灵活性和全面性,是当前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种水平越权漏洞检测方法、设备及计算机可读存储介质,旨在解决现有技术如何提高web应用水平越权漏洞的灵活性和全面性的技术问题。
为实现上述目的,本发明提供一种水平越权漏洞检测方法,所述水平越权漏洞检测方法包括以下步骤:
遍历预设资源库中的访问请求,并对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数;
根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问;
根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞。
可选地,所述根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问的步骤包括:
对各所述待检测参数进行组合,生成组合参数,并从预设资源库中查找目标访问请求,其中所述目标访问请求的访问地址与所述待检测访问请求的访问地址相同;
查找所述目标访问请求中与所述组合参数对应的目标参数,用所述组合参数对所述目标参数进行替换,生成待验证访问请求,并基于所述待验证访问请求发起访问。
可选地,所述根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤包括:
获取所述待验证访问请求发起访问所生成的响应结果,并调用所述待检测访问请求对应的目标访问结果;
生成所述响应结果和所述目标访问结果之间的相似度值,并判断所述相似度值是否大于预设阈值;
若所述相似度值大于所述预设阈值,则判定与所述访问请求对应的web应用存在水平越权漏洞;
若所述相似度值不大于所述预设阈值,则判定与所述访问请求对应的web应用不存在水平越权漏洞。
可选地,所述对所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数的步骤包括:
将各所述访问请求作为处理单位进行单独处理,均执行以下步骤:
根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件,若符合预设过滤条件,则对所述访问请求进行过滤;
若不符合预设过滤条件,则将所述访问请求作为待检测访问请求,并对各所述入参参数进行过滤,生成待检测参数。
可选地,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述访问请求中入参参数的参数类型是否均为预设类型,若所述参数类型均为预设类型,则判定所述访问请求符合预设过滤条件;
若所述参数类型不均为预设类型,则判断所述访问请求的响应属性是否为预设属性;
若所述响应属性为预设属性,则判定所述访问请求符合预设过滤条件;
若所述响应属性不为预设属性,则判定所述访问请求不符合预设过滤条件。
可选地,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述预设资源库中是否存在与所述访问请求对应的待对比访问请求,其中所述待对比访问请求和所述访问请求之间具有相同的固定参数和参数值;
若存在与所述访问请求对应的待对比访问请求,则判断所述访问请求符合预设过滤条件;
若不存在与所述访问请求对应的待对比访问请求,则判定所述访问请求不符合预设过滤条件。
可选地,所述对各所述入参参数进行过滤,生成待检测参数的步骤包括:
将所述访问请求中参数类型为预设类型的入参参数剔除,得到所述访问请求中的待过滤参数;
筛选出各所述待过滤参数中参数长度大于预设长度的目标待过滤参数,并将各所述目标待过滤参数中参数值为预设值的目标待过滤参数剔除,生成待检测参数。
可选地,所述确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤之后包括:
若与所述访问请求对应的web应用存在水平越权漏洞,则对所述web应用所存在的水平越权漏洞进行标记,并对经标记的所述水平越权漏洞输出提示信息。
进一步地,为实现上述目的,本发明还提供一种水平越权漏洞检测设备,所述水平越权漏洞检测设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的水平越权漏洞检测程序,所述水平越权漏洞检测程序被所述处理器执行时实现如上述所述的水平越权漏洞检测方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有水平越权漏洞检测程序,所述水平越权漏洞检测程序被处理器执行时实现如上所述的水平越权漏洞检测方法的步骤。
本发明的水平越权漏洞检测方法,通过预先设置预设资源库来存放对web应用进行访问的访问请求,并对其中所存放的访问请求进行过滤,生成待检测访问请求及其待检测参数;此后依据该待检测参数来生成待验证访问请求,并在待验证访问请求的基础上发起访问,得到访问结果;进而依据访问结果来确定访问请求所访问的web应用是否存在水平越权漏洞。因用于确定web应用是否存在水平越权漏洞的响应结果依据待检测参数生成,而待检测参数来源于访问请求,使得针对web应用中各功能的访问请求均可触发检测,确保了检测的灵活性和全面性。
附图说明
图1为本发明水平越权漏洞检测设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明水平越权漏洞检测方法第一实施例的流程示意图;
图3为本发明水平越权漏洞检测方法第二实施例的流程示意图;
图4为本发明水平越权漏洞检测方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种水平越权漏洞检测设备,参照图1,图1为本发明水平越权漏洞检测设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该水平越权漏洞检测设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的水平越权漏洞检测设备的硬件结构并不构成对水平越权漏洞检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及水平越权漏洞检测程序。其中,操作***是管理和控制水平越权漏洞检测设备与软件资源的程序,支持网络通信模块、用户接口模块、水平越权漏洞检测程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的水平越权漏洞检测设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的水平越权漏洞检测程序,并执行以下操作:
遍历预设资源库中的访问请求,并对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数;
根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问;
根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞。
进一步地,所述根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问的步骤包括:
对各所述待检测参数进行组合,生成组合参数,并从预设资源库中查找目标访问请求,其中所述目标访问请求的访问地址与所述待检测访问请求的访问地址相同;
查找所述目标访问请求中与所述组合参数对应的目标参数,用所述组合参数对所述目标参数进行替换,生成待验证访问请求,并基于所述待验证访问请求发起访问。
进一步地,所述根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤包括:
获取所述待验证访问请求发起访问所生成的响应结果,并调用所述待检测访问请求对应的目标访问结果;
生成所述响应结果和所述目标访问结果之间的相似度值,并判断所述相似度值是否大于预设阈值;
若所述相似度值大于所述预设阈值,则判定与所述访问请求对应的web应用存在水平越权漏洞;
若所述相似度值不大于所述预设阈值,则判定与所述访问请求对应的web应用不存在水平越权漏洞。
进一步地,所述对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数的步骤包括:
将各所述访问请求作为处理单位进行单独处理,均执行以下步骤:
根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件,若符合预设过滤条件,则对所述访问请求进行过滤;
若不符合预设过滤条件,则将所述访问请求作为待检测访问请求,并对各所述入参参数进行过滤,生成待检测参数。
进一步地,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述访问请求中入参参数的参数类型是否均为预设类型,若所述参数类型均为预设类型,则判定所述访问请求符合预设过滤条件;
若所述参数类型不均为预设类型,则判断所述访问请求的响应属性是否为预设属性;
若所述响应属性为预设属性,则判定所述访问请求符合预设过滤条件;
若所述响应属性不为预设属性,则判定所述访问请求不符合预设过滤条件。
进一步地,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述预设资源库中是否存在与所述访问请求对应的待对比访问请求,其中所述待对比访问请求和所述访问请求之间具有相同的固定参数和参数值;
若存在与所述访问请求对应的待对比访问请求,则判断所述访问请求符合预设过滤条件;
若不存在与所述访问请求对应的待对比访问请求,则判定所述访问请求不符合预设过滤条件。
进一步地,所述对各所述入参参数进行过滤,生成待检测参数的步骤包括:
将所述访问请求中参数类型为预设类型的入参参数剔除,得到所述访问请求中的待过滤参数;
筛选出各所述待过滤参数中参数长度大于预设长度的目标待过滤参数,并将各所述目标待过滤参数中参数值为预设值的目标待过滤参数剔除,生成待检测参数。
进一步地,所述确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤之后,处理器1001可以调用存储器1005中存储的水平越权漏洞检测程序,并执行以下操作:
若与所述访问请求对应的web应用存在水平越权漏洞,则对所述web应用所存在的水平越权漏洞进行标记,并对经标记的所述水平越权漏洞输出提示信息进一步地。
本发明水平越权漏洞检测设备的具体实施方式与下述水平越权漏洞检测方法各实施例基本相同,在此不再赘述。
本发明还提供一种水平越权漏洞检测方法。
参照图2,图2为本发明水平越权漏洞检测方法第一实施例的流程示意图。
本发明实施例提供了水平越权漏洞检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例中的水平越权漏洞检测方法包括:
步骤S10,遍历预设资源库中的访问请求,并对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数。
本实施例中的水平越权漏洞检测方法适用于对web应用中所出现的水平越权漏洞进行检测。其中,越权漏洞是一种常见的逻辑安全漏洞,是由于web应用服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的增、删、查、改功能,从而导致越权漏洞。根据对数据库的操作进行分类,越权漏洞可以分为以下几类:越权查询、越权删除、越权修改、越权添加等。根据维度进行分类,越权漏洞可分为:水平越权、垂直越权和交叉越权。对于水平越权,其权限类型不变,权限ID(Identification,身份)改变;如:同是普通用户,其中一个用户可查看其它用户信息。常见的就是通过修改某一个ID参数来查看其他用户的信息,比如用户查看自己的信息时,发现URL(Uniform Resource Locator,统一资源定位符)连接中,或者http(HyperTextTransfer Protocol,超文本传输协议)请求头中有一个userID的参数,然后用户修改这个参数就可以查看该用户信息了。对于垂直越权,其权限ID不变,权限类型改变;如普通用户可使用管理员权限进行操作。如用户登录时,发现cookie中有一个roleID的角色参数,那么可以通过修改该ID为1或者0,根据具体情况来定,就可以使用管理员权限了。对于交叉越权,其权限类型改变,权限ID也改变。本实施例优选以水平越权漏洞为例加以说明。
进一步地,预先设置有预设资源库,以存放对web应用进行访问的访问请求。在检测水平越权漏洞的过程中,对该预设资源库中所存储的访问请求进行遍历,以对各访问请求进行过滤。过滤至少涉及到两个方面,其一为依据访问请求本身进行过滤,当访问请求本身符合过滤条件,表征其不具有风险时进行过滤,而不进行水平越权漏洞检测。其二是依据访问请求中所携带的参数进行过滤,当访问请求中携带有符合过滤条件参数,表征其不具有风险时进行过滤,也不进行水平越权漏洞检测。当遍历过程中的访问请求本身不符合过滤条件,其所携带参数也不符合过滤条件时,则表征该访问请求可能具有风险,而将该访问请求作为待检测访问请求,并将其参数读取为待检测参数,以依据该待检测参数来检测该访问请求所访问的web应用是否存在水平越权漏洞。
步骤S20,根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问;
可理解地,因水平越权漏洞的特性是通过修改URL连接中或http请求头中的用户参数,来查看该用户信息;从而在通过待检测参数来检测水平越权漏洞时,可用该待检测参数替换掉预设资源库中针对同一web应用的同样功能所发起的其他访问请求的对应参数,来生成新的访问请求,即待验证访问请求。通过该待验证访问请求发起访问,由访问的响应情况来确定web应用是否存在水平越权情况。
步骤S30,根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞。
进一步地,读取待验证访问请求发起访问所生成的响应结果,并依据该响应结果与待检测访问请求发起访问所对应的响应结果,来确定待验证访问请求所访问的web应用是否存在水平越权漏洞。若经待检测参数替换所生成的待验证访问请求的响应结果,与原本待检测访问请求发起访问所生成的响应结果一致,则说明该web应用可通过修改用户参数的方式,来实现对其他用户信息的获取,web应用存在水平越权漏洞;反之若两者之间的响应结果不一致,或者待验证访问请求不能对web应用进行访问,则说明web应用不存在水平越权漏洞。需要说明的是,待检测参数的替换其实质为参数值的替换,即查找相同的参数名,并用待检测参数的参数值对该参数名的参数值进行替换,生成待验证访问请求。
更进一步地,对于web应用存在水平漏洞的情况,设置有标记机制。具体地,在经确定访问请求所对应访问的web应用中存在水平越权漏洞,则对web应用所存在的水平越权漏洞进行标记,标记可以以标识符的形式实现,且针对不同类型的水平越权漏洞设置不同的标识符。如对于水平越权查询设置标识符f1、水平越权删除设置标识符f2、水平越权修改设置表示符f3等。在通过响应结果确定web应用存在水平越权漏洞后,根据响应结果或者待检测参数的操作类型来确定水平越权漏洞的类型,进而依据该类型所对应的标识符对该水平越权漏洞进行标记。如当响应结果或待检测参数表征的操作类型为修改,则可确定web应用水平越权漏洞的类型为水平越权修改,对该水平越权漏洞添加的标识符f3,实现水平越权漏洞的标记。此外,在对于水平越权漏洞进行标记的同时,还输出提示信息,以提示对水平越权漏洞及时修复,避免出现信息泄露的情况。其中,提示信息可以以文字的形式提示,也可以以语音的形式提示,对此不做限定。
本发明的水平越权漏洞检测方法,通过预先设置预设资源库来存放对web应用进行访问的访问请求,并对其中所存放的访问请求进行过滤,生成待检测访问请求及其待检测参数;此后依据该待检测参数来生成待验证访问请求,并在待验证访问请求的基础上发起访问,得到访问结果;进而依据访问结果来确定访问请求所访问的web应用是否存在水平越权漏洞。因用于确定web应用是否存在水平越权漏洞的响应结果依据待检测参数生成,而待检测参数来源于访问请求,使得针对web应用中各功能的访问请求均可触发检测,确保了检测的灵活性和全面性。
进一步地,基于本发明水平越权漏洞检测方法的第一实施例,提出本发明水平越权漏洞检测方法第二实施例。
参照图3,所述水平越权漏洞检测方法第二实施例与所述水平越权漏洞检测方法第一实施例的区别在于,所述根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问的步骤包括:
步骤S21,对各所述待检测参数进行组合,生成组合参数,并从预设资源库中查找目标访问请求,其中所述目标访问请求的访问地址与所述待检测访问请求的访问地址相同;
步骤S22,查找所述目标访问请求中与所述组合参数对应的目标参数,用所述组合参数对所述目标参数进行替换,生成待验证访问请求,并基于所述待验证访问请求发起访问。
可理解地,待检测访问请求中所携带的参数不止一项,在待检测访问请求中所携带的参数众多的情况下,即待检测参数众多的情况下,对各待检测参数进行组合,生成组合参数,以组合参数的形式进行检测。其中,组合参数的数量与待检测参数的数量相关;若待检测参数仅两项,则将两者组合所形成的组合参数为三项;若待检测参数为三项,则将三者组合所形成的组合参数为七项。
进一步地,从预设资源库中查找与待检测访问请求具有相同访问地址的目标访问请求,相同的访问地址表征待检测访问请求和目标访问请求之间所需要获取信息的相同,或者所进行的操作类型相同,如均为查看订单信息,或进行登录操作等。在获取到目标访问请求后,再依据组合参数对目标访问请求进行查找,得到目标访问请求中的目标参数,该目标参数与组合参数之间具有相同的参数名。进而用组合参数对目标参数进行替换,即用组合参数所表征的参数值对目标参数所表征的参数值进行替换,生成待验证访问请求,并依据该待验证访问请求发起访问。
需要说明的是,对于由各待检测参数组合得到的各个组合参数,均从目标访问请求中查找对应的目标参数,并逐一用组合参数对各自查找到的目标参数进行替换,生成各个待验证访问请求发起访问,通过各个访问请求的响应结果来检测水平越权漏洞,实现由各个参数来全面检测水平越权漏洞。如对于某一web应用登录操作的访问请求,其中的待验证参数包括账户A1、密码A2和验证码A3,因此组合参数包括A1、A2、A2、A1A2、A1A2、A2A3和A1A2A3;查找到预设资源库中对该web应用进行登录操作的目标访问请求,其中账户B1、密码B2和验证码B3;与各组合参数对应的目标参数分别为B1、B2、B3、B1B2、B1B3、B2B3和B1B2B3;从而依次用A1、A2、A3、A1A2、A1A3、A2A3、A1A2A3分别对B1、B2、B3、B1B2、B1B3、B2B3、B1B2B3进行替换,生成待验证访问请求发起访问,得到响应结果c1、c2、c3、c4、c5、c6和c7;通过c1、c2、c3、c4、c5、c6和c7来全面检测web应用中的水平越权漏洞。
本实施通过将待检测访问请求中的待检测参数来生成组合参数,并查找与待检测访问请求具有相同地址的目标访问请求,再用组合参数的参数值对目标访问请求中目标参数的参数值进行替换,得到待验证访问请求,通过待验证访问请求发起访问所生成的响应结果与待检测访问请求发起访问所生成的响应结果,来全面检测web应用中的水平越权漏洞。
进一步地,基于本发明水平越权漏洞检测方法的第二实施例,提出本发明水平越权漏洞检测方法第三实施例。
参照图4,所述水平越权漏洞检测方法第三实施例与所述水平越权漏洞检测方法第二实施例的区别在于,所述根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤包括:
步骤S31,获取所述待验证访问请求发起访问所生成的响应结果,并调用所述待检测访问请求对应的目标访问结果;
步骤S32,生成所述响应结果和所述目标访问结果之间的相似度值,并判断所述相似度值是否大于预设阈值;
步骤S33,若所述相似度值大于所述预设阈值,则判定与所述访问请求对应的web应用存在水平越权漏洞;
步骤S34,若所述相似度值不大于所述预设阈值,则判定与所述访问请求对应的web应用不存在水平越权漏洞。
本实施例在依据待验证访问请求所生成的响应结果与待检测访问请求发起访问所生成的响应结果,来对web应用中的水平越权漏洞进行检测时,先对待验证访问请求所生成的响应结果进行获取,再从预设资源库中调用待检测访问请求进行访问所生成的目标访问结果。将响应结果和目标访问结果进行对比,生成两者之间的相似度值,通过相似度值来表征响应结果和目标访问结果之间的相似程度高低。
进一步地,为了判定响应结果和目标访问结果之间的相似程度高低,预先依据需求设置有预设阈值;将生成的相似度值和该预设阈值对比,判断相似度值是否大于预设阈值。若大于预设阈值,则说明响应结果和目标响应结果之间的相似程度较高,说明web应用中与访问请求对应的功能可通过修改参数的方式,来实现对其他用户的该项功能信息的获取,从而判定web应用存在水平越权漏洞。反之,若相似度值不大于预设阈值,则说明响应结果和目标响应结果之间的相似程度不高,此时判定web应用不存在水平越权漏洞。
本实施例通过各组合参数所生成待验证访问请求的响应结果,来检测web应用中的水平越权漏洞,针对web应用中各功能的访问请求均可生成组合参数,并生成待验证访问请求进行访问得到响应结果,使得web应用中水平越权漏洞的检测更为全面灵活,针对性更强。
进一步地,基于本发明水平越权漏洞检测方法的第一实施例,提出本发明水平越权漏洞检测方法第四实施例。
所述水平越权漏洞检测方法第四实施例与所述水平越权漏洞检测方法第一实施例的区别在于,所述对所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数的步骤包括:
在遍历预设资源库中各访问请求时,将各访问请求作为处理单位进行单独处理,均执行以下步骤:
步骤S11,根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件,若符合预设过滤条件,则对所述访问请求进行过滤;
本实施例在对访问请求过滤,生成待检测参数时,设置有提取请求时、检测前和检测后的过滤机制。具体地,预先依据同一访问请求中各参数的共同特性,或者不同访问请求之间各参数的一致性来设置预设过滤条件;其中,共同特性至少包括空值和固定值两类,以此所设置的预设过滤条件为访问请求中的所有参数均为空值或者均为固定值;一致性为不同访问请求之间用户个性参数的一致,如用户在不同版本的浏览器用同一账号对web应用发起访问请求,则作为用户个性参数的账号一致。将访问请求中的参数作为入参参数,在从预设资源库提取到访问请求后,对访问请求的入参参数进行读取,并依据该入参参数来判断访问请求是否符合预设过滤条件。若经判定访问请求符合该预设过滤条件,则对访问请求本身进行过滤;反之,若访问请求不符合预设过滤条件,则说明不能排除访问请求本身的风险,故不对访问请求本身进行过滤,而读取其中的入参参数进行过滤。
其中,针对于依据同一访问请求中各参数的共同特性来设置预设过滤条件的情形,根据访问请求的入参参数,判断访问请求是否符合预设过滤条件的步骤包括:
步骤S111,判断所述访问请求中入参参数的参数类型是否均为预设类型,若所述参数类型均为预设类型,则判定所述访问请求符合预设过滤条件;
步骤S112,若所述参数类型不均为预设类型,则判断所述访问请求的响应属性是否为预设属性;
步骤S113,若所述响应属性为预设属性,则判定所述访问请求符合预设过滤条件;
步骤S114,若所述响应属性不为预设属性,则判定所述访问请求不符合预设过滤条件。
进一步地,在提取到访问请求进行过滤时,将入参参数的空值作为预设类型。先判断提取的访问请求中是否包含入参参数,若包含入参参数则继续判断各入参参数的参数类型是否均为该预设类型,即判断各入参参数是否均为空值。若均为空值,则判定访问请求符合预设过滤条件,对该访问请求本身进行过滤。而对于检测前所进行的过滤,则将入参参数为固定值作为预设类型;判断访问请求中所包含入参参数的参数类型是否均为该预设类型,即判断各入参参数是否均为固定值。若均为固定值,则判定访问请求符合预设过滤条件,而对该访问请求本身进行过滤。
更进一步地,若经判定各入参参数的参数类型不均为预设类型,即访问请求中的各入参参数不全是空值,或者不全是固定值。此时读取web应用对访问请求进行响应所生成响应页面的响应属性,并判断该响应属性是否为预设属性。其中预设属性为预设设置用于表征不具有越权风险的属性,如错误提示页面的属性、公共页面的属性等,以通过将该类响应页面的属性设定为预设属性,来降低误判率。若经判定响应页面的响应属性为预设属性,则说明访问请求不具有越权风险,判定访问请求符合预设过滤条件,而对访问请求本身进行过滤。反之,若响应页面的响应属性不为预设属性,则说明不能排除访问请求的越权风险性;判定访问请求不符合预设过滤条件,不对该访问请求进行过滤,并读取其中的入参参数进行过滤。
其中,针对于通过不同访问请求之间各参数的一致性来设置预设过滤条件的情形,根据访问请求的入参参数,判断访问请求是否符合预设过滤条件的步骤包括:
步骤S115,判断所述预设资源库中是否存在与所述访问请求对应的待对比访问请求,其中所述待对比访问请求和所述访问请求之间具有相同的固定参数和参数值;
步骤S116,若存在与所述访问请求对应的待对比访问请求,则判断所述访问请求符合预设过滤条件;
步骤S117,若不存在与所述访问请求对应的待对比访问请求,则判定所述访问请求不符合预设过滤条件。
进一步地,对用于存储各用户与web应用访问会话所生成访问请求的预设资源库进行判断,确定其中是否存在与访问请求对应的待对比访问请求。该待对比访问请求和访问请求为不同用户账号针对同一个请求或者功能所发起访问的请求,其除了账号和密码等与用户账号相关的参数之外,其他的参数为固定参数,如应用版本、推荐人号码等。因此,待对比访问请求和访问请求之间具有相同的固定参数和参数值。若存在该待对比访问请求,则说明该访问请求不具有风险性,而判定访问请求符合预设过滤条件。反之,若不存在该对比访问请求,则不能排除访问请求的越权风险性;判定访问请求不符合预设过滤条件,不对该访问请求进行过滤,而读取其中的入参参数进行过滤。
步骤S12,若不符合预设过滤条件,则将所述访问请求作为待检测访问请求,并对各所述入参参数进行过滤,生成待检测参数。
更进一步地,若根据访问请求的入参参数,判断访问请求不符合预设过滤条件,而不能对访问请求本身进行过滤后,则将该访问请求作为待检测访问请求,读取该待检测访问请求中的各入参参数进行过滤,并将经过滤后的各入参参数生成为待检测参数,具体地,对各入参参数进行过滤,生成待检测参数的步骤包括:
步骤S121,将所述访问请求中参数类型为预设类型的入参参数剔除,得到所述访问请求中的待过滤参数;
步骤S122,筛选出各所述待过滤参数中参数长度大于预设长度的目标待过滤参数,并将各所述目标待过滤参数中参数值为预设值的目标待过滤参数剔除,生成待检测参数。
进一步地,访问请求不符合预设过滤条件,则说明访问请求中的各入参参数的参数类型不全是空值或者固定值,对于其中参数类型为空值或固定值的入参参数进行剔除,即将访问请求中参数类型为预设类型的入参参数剔除。将经剔除后的各入参参数作为访问请求中的待过滤参数,并读取各待过滤参数的参数长度。此后将各参数长度和预设长度对比,确定其中大于预设长度的目标参数长度。其中,预设长度为预先设置表征具有越权风险的长度值,若待过滤参数的参数长度大于该预设长度,则表名该过滤参数可能具有越权风险。从而将具有目标参数长度的各待过滤参数确定为目标待过滤参数,以和各待过滤参数中不大于预设长度的待过滤参数进行区分处理。
可理解地,访问请求中所携带的各类入参参数存在某类长度大于预设长度,但不具有越权风险性的入参参数,如账户类型码、应用版本号、设备类型等。将该类参数的参数值作为预设值,并逐一将目标待过滤参数所表征的参数值和该预设值对比,判断各目标待过滤参数的参数值是否为该预设值。若某一目标待过滤参数的参数值为该预设值,则将该目标待过滤参数剔除,在各目标待过滤参数均经判断并剔除后,将所剩余的目标待过滤参数生成为表征访问请求可能具有风险性的待检测参数,并通过待检测参数来检测访问请求所访问的web应用是否存在水平越权漏洞。
本实施例通过设置多重过滤机制来对访问请求进行过滤,在确保准确过滤的同时,降低误判率,有利于针对web应用中各功能的访问请求,来全面准确检测web应用所存在的水平越权漏洞。
此外,本发明实施例还提出一种计算机可读存储介质。
计算机可读存储介质上存储有水平越权漏洞检测程序,水平越权漏洞检测程序被处理器执行时实现如上所述的水平越权漏洞检测方法的步骤。
本发明计算机可读存储介质具体实施方式与上述水平越权漏洞检测方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

Claims (10)

1.一种水平越权漏洞检测方法,其特征在于,所述水平越权漏洞检测方法包括以下步骤:
遍历预设资源库中的访问请求,并对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数;
根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问;
根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞。
2.如权利要求1所述的水平越权漏洞检测方法,其特征在于,所述根据各所述待检测参数,生成待验证访问请求,并基于所述待验证访问请求发起访问的步骤包括:
对各所述待检测参数进行组合,生成组合参数,并从预设资源库中查找目标访问请求,其中所述目标访问请求的访问地址与所述待检测访问请求的访问地址相同;
查找所述目标访问请求中与所述组合参数对应的目标参数,用所述组合参数对所述目标参数进行替换,生成待验证访问请求,并基于所述待验证访问请求发起访问。
3.如权利要求2所述的水平越权漏洞检测方法,其特征在于,所述根据访问所生成的响应结果,确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤包括:
获取所述待验证访问请求发起访问所生成的响应结果,并调用所述待检测访问请求对应的目标访问结果;
生成所述响应结果和所述目标访问结果之间的相似度值,并判断所述相似度值是否大于预设阈值;
若所述相似度值大于所述预设阈值,则判定与所述访问请求对应的web应用存在水平越权漏洞;
若所述相似度值不大于所述预设阈值,则判定与所述访问请求对应的web应用不存在水平越权漏洞。
4.如权利要求1所述的水平越权漏洞检测方法,其特征在于,所述对各所述访问请求进行过滤,生成待检测访问请求以及所述待检测访问请求的待检测参数的步骤包括:
将各所述访问请求作为处理单位进行单独处理,均执行以下步骤:
根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件,若符合预设过滤条件,则对所述访问请求进行过滤;
若不符合预设过滤条件,则将所述访问请求作为待检测访问请求,并对各所述入参参数进行过滤,生成待检测参数。
5.如权利要求4所述的水平越权漏洞检测方法,其特征在于,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述访问请求中入参参数的参数类型是否均为预设类型,若所述参数类型均为预设类型,则判定所述访问请求符合预设过滤条件;
若所述参数类型不均为预设类型,则判断所述访问请求的响应属性是否为预设属性;
若所述响应属性为预设属性,则判定所述访问请求符合预设过滤条件;
若所述响应属性不为预设属性,则判定所述访问请求不符合预设过滤条件。
6.如权利要求4所述的水平越权漏洞检测方法,其特征在于,所述根据所述访问请求的入参参数,判断所述访问请求是否符合预设过滤条件的步骤包括:
判断所述预设资源库中是否存在与所述访问请求对应的待对比访问请求,其中所述待对比访问请求和所述访问请求之间具有相同的固定参数和参数值;
若存在与所述访问请求对应的待对比访问请求,则判断所述访问请求符合预设过滤条件;
若不存在与所述访问请求对应的待对比访问请求,则判定所述访问请求不符合预设过滤条件。
7.如权利要求4所述的水平越权漏洞检测方法,其特征在于,所述对各所述入参参数进行过滤,生成待检测参数的步骤包括:
将所述访问请求中参数类型为预设类型的入参参数剔除,得到所述访问请求中的待过滤参数;
筛选出各所述待过滤参数中参数长度大于预设长度的目标待过滤参数,并将各所述目标待过滤参数中参数值为预设值的目标待过滤参数剔除,生成待检测参数。
8.如权利要求1-7任一项所述的水平越权漏洞检测方法,其特征在于,所述确定与所述访问请求对应的web应用是否存在水平越权漏洞的步骤之后包括:
若与所述访问请求对应的web应用存在水平越权漏洞,则对所述web应用所存在的水平越权漏洞进行标记,并对经标记的所述水平越权漏洞输出提示信息。
9.一种水平越权漏洞检测设备,其特征在于,所述水平越权漏洞检测设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的水平越权漏洞检测程序,所述水平越权漏洞检测程序被所述处理器执行时实现如权利要求1-8中任一项所述的水平越权漏洞检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有水平越权漏洞检测程序,所述水平越权漏洞检测程序被处理器执行时实现如权利要求1-8中任一项所述的水平越权漏洞检测方法的步骤。
CN202010021129.6A 2020-01-08 2020-01-08 水平越权漏洞检测方法、设备及计算机可读存储介质 Active CN111209565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010021129.6A CN111209565B (zh) 2020-01-08 2020-01-08 水平越权漏洞检测方法、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010021129.6A CN111209565B (zh) 2020-01-08 2020-01-08 水平越权漏洞检测方法、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111209565A true CN111209565A (zh) 2020-05-29
CN111209565B CN111209565B (zh) 2022-12-23

Family

ID=70788973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010021129.6A Active CN111209565B (zh) 2020-01-08 2020-01-08 水平越权漏洞检测方法、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111209565B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111740992A (zh) * 2020-06-19 2020-10-02 北京字节跳动网络技术有限公司 网站安全漏洞检测方法、装置、介质及电子设备
CN112464250A (zh) * 2020-12-15 2021-03-09 光通天下网络科技股份有限公司 越权漏洞自动检测方法、设备及介质
CN112491807A (zh) * 2020-11-05 2021-03-12 杭州孝道科技有限公司 基于交互式应用检测技术的水平越权漏洞检测方法
CN113242257A (zh) * 2021-05-26 2021-08-10 中国银行股份有限公司 越权漏洞的检测方法、装置、设备及存储介质
CN113722740A (zh) * 2021-09-06 2021-11-30 全知科技(杭州)有限责任公司 一种基于接口画像的水平越权访问敏感数据风险的检测方法
CN113961940A (zh) * 2021-12-21 2022-01-21 杭州海康威视数字技术股份有限公司 基于权限动态更新机制的越权检测方法及装置
CN114070583A (zh) * 2021-10-12 2022-02-18 鸬鹚科技(深圳)有限公司 信息访问控制方法、装置、计算机设备及介质
CN114499960A (zh) * 2021-12-24 2022-05-13 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN115348117A (zh) * 2022-10-20 2022-11-15 闪捷信息科技有限公司 用户水平越权行为判定方法和装置
CN115529171A (zh) * 2022-09-16 2022-12-27 浙江网商银行股份有限公司 行为检测方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357195A (zh) * 2015-10-30 2016-02-24 深圳市深信服电子科技有限公司 web访问的越权漏洞检测方法及装置
CN106713347A (zh) * 2017-01-18 2017-05-24 国网江苏省电力公司电力科学研究院 一种电力移动应用越权访问漏洞检测方法
CN107577949A (zh) * 2017-09-05 2018-01-12 郑州云海信息技术有限公司 一种Web越权漏洞检测方法与***
CN109446819A (zh) * 2018-10-30 2019-03-08 北京知道创宇信息技术有限公司 越权漏洞检测方法及装置
CN109710743A (zh) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 一种存储池的访问方法、装置及电子设备
CN110414242A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、设备及介质
CN110489966A (zh) * 2019-08-12 2019-11-22 腾讯科技(深圳)有限公司 平行越权漏洞检测方法、装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357195A (zh) * 2015-10-30 2016-02-24 深圳市深信服电子科技有限公司 web访问的越权漏洞检测方法及装置
CN106713347A (zh) * 2017-01-18 2017-05-24 国网江苏省电力公司电力科学研究院 一种电力移动应用越权访问漏洞检测方法
CN107577949A (zh) * 2017-09-05 2018-01-12 郑州云海信息技术有限公司 一种Web越权漏洞检测方法与***
CN109446819A (zh) * 2018-10-30 2019-03-08 北京知道创宇信息技术有限公司 越权漏洞检测方法及装置
CN109710743A (zh) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 一种存储池的访问方法、装置及电子设备
CN110414242A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、设备及介质
CN110489966A (zh) * 2019-08-12 2019-11-22 腾讯科技(深圳)有限公司 平行越权漏洞检测方法、装置、存储介质及电子设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111740992A (zh) * 2020-06-19 2020-10-02 北京字节跳动网络技术有限公司 网站安全漏洞检测方法、装置、介质及电子设备
CN112491807A (zh) * 2020-11-05 2021-03-12 杭州孝道科技有限公司 基于交互式应用检测技术的水平越权漏洞检测方法
CN112464250A (zh) * 2020-12-15 2021-03-09 光通天下网络科技股份有限公司 越权漏洞自动检测方法、设备及介质
CN113242257A (zh) * 2021-05-26 2021-08-10 中国银行股份有限公司 越权漏洞的检测方法、装置、设备及存储介质
CN113722740A (zh) * 2021-09-06 2021-11-30 全知科技(杭州)有限责任公司 一种基于接口画像的水平越权访问敏感数据风险的检测方法
CN113722740B (zh) * 2021-09-06 2023-07-28 全知科技(杭州)有限责任公司 一种基于接口画像的水平越权访问敏感数据风险的检测方法
CN114070583A (zh) * 2021-10-12 2022-02-18 鸬鹚科技(深圳)有限公司 信息访问控制方法、装置、计算机设备及介质
CN114070583B (zh) * 2021-10-12 2023-10-20 鸬鹚科技(深圳)有限公司 信息访问控制方法、装置、计算机设备及介质
CN113961940B (zh) * 2021-12-21 2022-03-25 杭州海康威视数字技术股份有限公司 基于权限动态更新机制的越权检测方法及装置
CN113961940A (zh) * 2021-12-21 2022-01-21 杭州海康威视数字技术股份有限公司 基于权限动态更新机制的越权检测方法及装置
CN114499960A (zh) * 2021-12-24 2022-05-13 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN114499960B (zh) * 2021-12-24 2024-03-22 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN115529171A (zh) * 2022-09-16 2022-12-27 浙江网商银行股份有限公司 行为检测方法及装置
CN115348117A (zh) * 2022-10-20 2022-11-15 闪捷信息科技有限公司 用户水平越权行为判定方法和装置

Also Published As

Publication number Publication date
CN111209565B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
CN111209565B (zh) 水平越权漏洞检测方法、设备及计算机可读存储介质
CN109922052B (zh) 一种结合多重特征的恶意url检测方法
CN111416811B (zh) 越权漏洞检测方法、***、设备及存储介质
WO2018188558A1 (zh) 账号权限的识别方法及装置
CN106209488B (zh) 用于检测网站攻击的方法和设备
CN113779585B (zh) 越权漏洞检测方法和装置
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
CN107689940B (zh) WebShell检测方法及装置
CN107896219B (zh) 一种网站脆弱性的检测方法、***及相关装置
CN111404937B (zh) 一种服务器漏洞的检测方法和装置
CN102664872B (zh) 用于检测和防止对计算机网络中服务器攻击的方法
CN111770104A (zh) web漏洞检测方法、***、终端、计算机可读存储介质
CN110417718B (zh) 处理网站中的风险数据的方法、装置、设备及存储介质
US20150213272A1 (en) Conjoint vulnerability identifiers
CN110837646A (zh) 一种非结构化数据库的风险排查装置
CN113132329A (zh) Webshell检测方法、装置、设备及存储介质
CN115242436B (zh) 一种基于命令行特征的恶意流量检测方法及***
CN112148545A (zh) 嵌入式***的安全基线检测方法以及安全基线检测***
CN109165513B (zh) ***配置信息的巡检方法、装置和服务器
CN116094808A (zh) 基于RBAC模式Web应用安全的访问控制漏洞检测方法及***
CN113742631B (zh) 一种基于cdn的网站图片防盗链方法
CN115145674A (zh) 基于动态锚点的页面跳转方法、装置、设备及介质
CN111353116B (zh) 内容检测方法、***及设备、客户端设备和存储介质
KR101512700B1 (ko) 사용자 행위패턴 기반 웹 서버의 비인가 트래픽 정밀 접근제어 시스템 및 그 제어 방법
CN112883422A (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
GR01 Patent grant
GR01 Patent grant