CN111125748A - 越权查询的判断方法、装置、计算机设备和存储介质 - Google Patents

越权查询的判断方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111125748A
CN111125748A CN201911067611.7A CN201911067611A CN111125748A CN 111125748 A CN111125748 A CN 111125748A CN 201911067611 A CN201911067611 A CN 201911067611A CN 111125748 A CN111125748 A CN 111125748A
Authority
CN
China
Prior art keywords
response message
request message
response
application server
function point
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
Application number
CN201911067611.7A
Other languages
English (en)
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 Guangfa Bank Co Ltd
Original Assignee
China Guangfa 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 Guangfa Bank Co Ltd filed Critical China Guangfa Bank Co Ltd
Priority to CN201911067611.7A priority Critical patent/CN111125748A/zh
Publication of CN111125748A publication Critical patent/CN111125748A/zh
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种越权查询的判断方法、装置、计算机设备和存储介质,该方法包括:获取应用服务器的第一响应报文,将第一请求报文携带的第一会话参数替换为第二会话参数得到第三请求报文,然后将第三请求报文发送至应用服务器,获取应用服务器响应该第三请求报文得到的第三响应报文,最后基于第一响应报文和第三响应报文的一致性,判断该目标功能点是否存在越权查询。该方案能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。

Description

越权查询的判断方法、装置、计算机设备和存储介质
技术领域
本发明涉及信息安全技术领域,特别是涉及一种越权查询的判断方法、越权查询的判断装置、计算机设备和计算机可读存储介质。
背景技术
越权访问漏洞是指查询交易时,允许用户能够查询到其他用户的敏感数据。例如,用户登录应用程序后,通过输入个人***查询了卡内当前的活期余额,此时用户通过修改***,如果能查询到其他用户的活期余额,即进行了越权查询。如果Web应用程序中存在可以越权查询用户敏感信息的功能点,则可能导致大规模用户敏感信息的泄露,因此需要对查询交易的功能点进行越权查询检测,判断该功能点是否存在越权查询。
在传统技术中,渗透测试人员通过逐个修改交易报文中的查询参数,根据返回的数据确定是否发生越权查询,具体而言,渗透测试人员会确定交易报文中的查询参数,例如***、资金账号和流水号等,逐个修改查询条件,查看是否返回其他用户的敏感数据,从而判断该功能点是否发生了越权查询。然而,这种技术需要渗透测试人员逐一修改功能点的查询条件,时间复杂度随着查询条件的增加而指数级增加,导致对越权查询的判断效率低。
发明内容
基于此,有必要针对传统技术对越权查询的判断效率低的技术问题,提供一种越权查询的判断方法、越权查询的判断装置、计算机设备和计算机可读存储介质。
一种越权查询的判断方法,包括步骤:
获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;
将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与所述第一用户为不同用户;
将所述第三请求报文发送至所述应用服务器;
获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;
基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
一种越权查询的判断装置,包括:
第一获取模块,用于获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;
替换模块,用于将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与第一用户为不同用户;
发送模块,用于将所述第三请求报文发送至所述应用服务器;
第二获取模块,用于获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;
判断模块,用于基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与所述第一用户为不同用户;将所述第三请求报文发送至所述应用服务器;获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与所述第一用户为不同用户;将所述第三请求报文发送至所述应用服务器;获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
上述越权查询的判断方法、装置、计算机设备和存储介质,获取应用服务器的第一响应报文,将第一请求报文携带的第一会话参数替换为第二会话参数得到第三请求报文,然后将第三请求报文发送至应用服务器,获取应用服务器响应该第三请求报文得到的第三响应报文,最后基于第一响应报文和第三响应报文的一致性,判断该目标功能点是否存在越权查询。该方案能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。
附图说明
图1为一个实施例中越权查询的判断方法的应用场景图;
图2为一个实施例中越权访问的原理示意图;
图3为一个实施例中越权查询的判断方法的流程示意图;
图4为一个实施例中越权查询的判断方法的原理示意图;
图5为另一个实施例中越权查询的判断方法的原理示意图;
图6为一个实施例中越权查询的判断装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本发明提供的越权查询的判断方法,可以应用于如图1所示的应用场景中,图1为一个实施例中越权查询的判断方法的应用场景图,该应用场景可以包括第一访问终端110、第二访问终端120、判断设备200和应用服务器300,其中,第一访问终端110为第一用户使用的终端,第二访问终端120为第二用户使用的终端,第一用户和第二用户可以分别通过第一访问终端110和第二访问终端120访问应用服务器300,第一访问终端110和第二访问终端120上可以安装相应的应用程序,用于用户对应用服务器300的各查询交易的功能点进行访问。当用户在访问终端上触发对某个功能点进行查询时,访问终端会生成相应的请求报文,并发送至应用服务器300,应用服务器300则会根据该请求报文生成响应报文,并反馈给访问终端,从而完成对功能点进行查询的过程。
以银行APP作为应用程序为例,该银行APP可以预先从应用服务器300下载安装在如第一访问终端110和第二访问终端120等访问终端上,用户通过该银行APP对各个功能点进行查询,如用户可以通过银行APP提供的相应功能点查询定期存款利率、账户余额、工资明细等信息。例如,当用户需要查询账户余额时,访问终端会生成账户余额的查询请求报文,发送给应用服务器300,应用服务器300则会根据该查询请求报文生成携带账户余额信息的查询响应报文,并反馈至访问终端,使得用户在访问终端的银行APP界面上查看到账户余额信息。
而在如银行APP等应用程序当中,如用于查询账户余额、工资明细等信息的功能点可能会存在越权查询,即某个用户通过修改***能够查询到其他用户的活期余额,则该功能点存在越权查询,结合图2对越权查询的原理进行说明。如图2所示,图2为一个实施例中越权访问的原理示意图,存在越权查询的根本原因是应用服务器未校验要查询的数据是否属于当前登录用户,也就是说应用服务器未校验要查询的数据与请求报文中的会话参数是否属于同一人,具体而言,用户A在登录应用服务器时,通过访问终端将自身的账号密码发送给应用服务器,应用服务器在此登录期间,会维护会话参数和用户身份信息的一对一关系,并将与用户A对应的会话参数A反馈给访问终端,然后在用户A通过访问终端访问如账户活期余额查询等功能点时,访问终端会将用户A输入的***A和预存的会话参数A一起发送给应用服务器,应用服务器会反馈该用户A的数据给用户A,如果用户A将其***A修改为***B再次进行查询,则应用服务器如果将用户B的数据返回给用户A,则说明该功能点存在越权查询。
本发明实施例可以基于如图1所示的判断设备200判断应用服务器300的功能点是否存在越权查询,该判断设备200是指配置了越权查询判断工具的设备,该越权查询判断工具是指用于对功能点是否发生越权查询进行判断的软件,该判断设备200可以是如个人计算机、笔记本电脑和平板电脑等终端,也可以用服务器或服务器集群来实现。
具体的,判断设备200对功能点是否存在越权查询的判断过程可以包括如下步骤:判断设备200获取应用服务器300的第一响应报文,该第一响应报文是应用服务器300响应第一请求报文得到的,而第一请求报文是第一用户对应用服务器的目标功能点进行查询的请求报文,该目标功能点是指应用服务器提供的各个功能点中需要进行越权查询判断的功能点。判断设备200将第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文,该第三请求报文是修改了会话参数后的第一请求报文,其中,第二会话参数是第二请求报文携带的会话参数,该第二请求报文是第二用户对同一个目标功能点进行查询的请求报文。然后,判断设备200将第三请求报文发送给应用服务器300,并获取应用服务器300响应该第三请求报文得到的第三响应报文,最后,判断设备200就可以基于第一响应报文和第三响应报文的一致性,判断该目标功能点是否存在越权查询。该方案能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。
在一个实施例中,提供了一种越权查询的判断方法,参考图3,图3为一个实施例中越权查询的判断方法的流程示意图,该方法可以应用于如图1所示的判断设备200,该越权查询的判断方法可以包括以下步骤:
步骤S101,获取应用服务器的第一响应报文。
其中,第一响应报文是指应用服务器300响应第一请求报文得到的响应报文,该第一请求报文用于第一用户对该应用服务器300的目标功能点进行查询的交易报文,该应用服务器300可以提供多个功能点,供用户对感兴趣的交易信息进行查询。以银行为例,银行的应用服务器提供的功能点可以包括用于查询定期存款的利率的功能点、用于查询账户余额的功能点、用于查询工资明细、收货地址的功能点等等,用户可以通过访问终端访问应用服务器的这些功能点查询相应的交易信息。目标功能点是指应用服务器300提供的多个功能点中,需要进行越权查询检测的功能点,这些功能点一般是涉及查询用户隐私数据的功能点,目标功能点的特点在于不同用户查询到的数据是不一样的。例如,用于查询账户余额的功能点、用于查询工资明细的功能点等可以作为该目标功能点,在不同用户查询其账户余额时,应用服务器反馈的响应报文中携带的数据是不一样的。
本步骤,判断设备200从应用服务器300接收第一响应报文,在此之前,第一用户可以通过第一访问终端110访问应用服务器300,对目标功能点进行查询,当第一用户在第一访问终端110上触发对目标功能点的查询操作时,第一访问终端110生成用于对目标功能点进行查询的第一请求报文,判断设备200可以获取该第一请求报文,记录该第一请求报文然后发送至应用服务器300,应用服务器300响应该第一请求报文得到第一响应报文,然后应用服务器300可以将该第一响应报文发送给判断设备200,判断设备200接收该第一响应报文。
步骤S102,将第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文。
本步骤主要是判断设备200将第一请求报文携带的会话参数进行替换,将会话参数替换后的第一请求报文作为第三请求报文。其中,用户对功能点进行查询的交易报文携带有查询条件(如***)和会话参数,而应用服务器需要将不同的用户进行区分,采取的办法可以是:当用户输入帐号和密码后,如网银服务器等应用服务器如果对该账号密码进行验证后通过,则会给用户下发一个随机字符串作为会话参数,同时应用服务器会记录该会话参数和用户身份信息之间一对一的关系,这就是用户登录网银服务器等应用服务器的过程。在应用服务器中,用户身份信息通常包括姓名、证件类型、证件号码、手机号、通讯地址和工作单位等,应用服务器通常会采用某些数据结构,例如数据字典,来维持一对一关系。其中,数据字典是计算机中基本的数据结构,数据字典的元素是key和value键值对,key可以是会话参数,value是用户身份信息,key和value是一对一的,从而通过键值对来维持会话参数和用户身份信息一对一的关系。
而在用户登录之后、退出登录之前,该用户做的所有交易所发出去的交易报文,里面都要包含该会话参数,应用服务器通过该会话参数,由于应用服务器记录了会话参数和用户身份信息的关系,因此可以判断该交易报文是由哪个用户发出的。
本步骤在将第一请求报文携带的会话参数进行替换之前,可以先获取第二用户对目标功能点进行查询的第二请求报文。其中,该第二用户是指与第一用户不同的用户,而第二请求报文当中携带了第二会话参数。这样,判断设备200在获取该第二请求报文之后,可以提取该第二请求报文携带的额第二会话参数,利用该第二会话参数替换第一请求报文的第一会话参数,从而得到第三请求报文。
在一个实施例中,第一请求报文和第二请求报文可以是第一用户和第二用户在同一时间段内查询同一目标功能点时,分别由第一访问终端110和第二访问终端120生成的。其中,“同一时间段”可以保证第一用户和第二用户登录访问应用服务器300的登录会话都没有超时,即第一用户和第二用户都在登录状态。
以银行的应用服务器为例对会话超时进行说明,当一个用户登录网上银行之后,如果一段时间内没有操作,那么服务器会将这段登录会话置为超时,而超时之后用户需要重新登录才能继续进行访问操作。基于此,如果用户的登录会话超时了,那么判断设备200在后续步骤中将携带该已经超时的会话参数的请求报文发送给应用服务器300进行响应,得到的响应报文则会提示“用户登录会话已超时,请重新登录”,而这样的响应报文对于越权检测点的识别是不利的。因此,判断设备200通过获取不同用户在同一时间段内触发的对同一个目标功能点进行查询的请求报文,能够保证触发功能点访问请求的用户处于登录状态,从而得到处于登录状态的响应报文,这样的响应报文是有效的报文,便于后续步骤可以据此准确判断目标功能点是否存在越权查询。
步骤S103,将第三请求报文发送至应用服务器。
本步骤中,判断设备200在得到第三请求报文以后,将该第三请求报文发送给应用服务器300,而应用服务器300在接收到第三请求报文后,对该第三请求报文进行响应从而得到第三响应报文。
步骤S104,获取应用服务器的第三响应报文。
应用服务器300在得到第三响应报文后,可以将该第三响应报文发送给判断设备200,判断设备200接收该第三响应报文。
步骤S105,基于第一响应报文和第三响应报文的一致性,判断目标功能点是否存在越权查询。
本步骤主要是判断设备200获取到第一响应报文和第三响应报文后,可以将第一响应报文和第三响应报文进行比较,判断第一响应报文和第三响应报文是否一致。其中,如果第一响应报文与第三响应报文一致,则判断目标功能点存在越权查询;如果第一响应报文与第三响应报文不一致,则判断该目标功能点不存在越权查询。具体来说,第一响应报文和第三响应报文是应用服务器300分别对第一请求报文和第三请求报文响应得到的,第一请求报文和第三请求报文的区别在于会话参数的不同而可以保持查询条件不变。其中,第一请求报文的会话参数是第一会话参数,应用服务器可以据此判断该第一请求报文是第一用户发出的,而第三请求报文的会话参数是第二会话参数,应用服务器则可以据此判断该第三请求报文是由第二用户发出的,因此,应用服务器得到的响应报文分别对应于第一用户和第二用户,对于不存在越权查询的功能点而言,不同用户查询得到的响应报文应当是不同的,因此,本步骤判断设备200判断第一响应报文和第三响应报文的一致性,如果第一响应报文与第三响应报文一致,则说明第二用户能够查询到第一用户的数据,这相当于另一个用户使用当前用户的查询条件,得到了当前用户的数据,所以可以确定该目标功能点存在越权查询,如果报文不一致,则说明第二用户不能查询到第一用户的数据,该目标功能点不存在越权查询。
上述越权查询的判断方法,获取应用服务器的第一响应报文,将第一请求报文携带的第一会话参数替换为第二会话参数得到第三请求报文,然后将第三请求报文发送至应用服务器,获取应用服务器响应该第三请求报文得到的第三响应报文,最后基于第一响应报文和第三响应报文的一致性,判断该目标功能点是否存在越权查询。该方案能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。
在一个实施例中,步骤S105中的基于第一响应报文和第三响应报文的一致性,判断目标功能点是否存在越权查询的步骤之前,还可以通过如下步骤确定报文之间的一致性:
将第一响应报文转化为第一向量;将第三响应报文转化为第三向量;计算第一向量与第三向量的余弦相似度;根据余弦相似度确定第一响应报文和第三响应报文的一致性。
本实施例主要是基于余弦相似度的原理计算响应报文之间的一致性。首先,对余弦相似度原理进行简述:
余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性,0度角的余弦值是1,而其他任何角度的余弦值都不大于1,并且其最小值是-1。因此,两个向量的夹角的余弦值可以确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。余弦相似度与向量的长度无关,仅仅与向量的指向方向相关。余弦相似度通常用于正空间,因此给出的值为0到1之间。
余弦相似性对任何维度的向量空间都适用,而且余弦相似性最常用于高维正空间。例如在信息检索中,每个词项被赋予不同的维度,而一个文档由一个向量表示,其各个维度上的值对应的是该词项在文档中出现的频率。余弦相似度因此可以给出两篇文档在其主题方面的相似度。
给定两个n维向量A和B,其余弦相似性θ由点积和向量长度给出,如下所示:
Figure BDA0002259883420000121
给出的相似性范围从-1到1,其中,-1意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性。
进一步的,余弦相似度常用来比较文本的一致性,下面通过比较两句话的相似度展示比较过程:
分词:
句子A:这件/衣服/尺寸/偏大,那件/尺寸/合适。
句子B:这件/衣服/尺寸/不/小,那件/更/合适。
列出所有的词:
这件 衣服 尺寸 偏大 那件 合适 不 小 更
计算词频:
这件1 衣服1 尺寸2 偏大1 那件1 合适1 不0 小0 更0
这件1 衣服1 尺寸1 偏大0 那件1 合适1 不1 小1 更1
提取词频向量:
句子A:(1,1,2,1,1,1,0,0,0)
句子B:(1,1,1,0,1,1,1,1,1)
计算余弦相似性:
Figure BDA0002259883420000131
因此,句子A和句子B的相似程度是71%。
本实施例中,判断设备200可以在得到第一响应报文和第三响应报文后,先将第一响应报文和第三响应报文分别转化为第一向量和第三向量,然后计算第一向量和第三向量之间的余弦相似度,并根据该余弦相似度确定第一响应报文和第三响应报文的一致性。具体的,响应报文通常是一些格式化报文,例如银行应用***的响应报文通常是json格式的,这类响应报文能比较容易的提取出中英文单词、数字,得到的响应报文例如:响应报文1:姓名:小明,***:123,金额:100;响应报文2:姓名:小李,***:345,金额:200;从而基于该响应报文就可以应用余弦相似度进行一致性对比了。
进一步的,在一个实施例中,根据余弦相似度确定第一响应报文和第三响应报文的一致性的步骤可以包括:
将余弦相似度与预设的相似度阈值进行比较;若余弦相似度小于相似度阈值,则判断第一响应报文与第三响应报文不一致。
本实施例中,若余弦相似度小于相似度阈值,则判断第一响应报文与第三响应报文不一致,表示第一响应报文和第三响应报文不相同,说明响应与用户有关;若余弦相似度大于或等于相似度阈值,则说明第一响应报文与第三响应报文相一致,表示第一响应报文和第三响应报文相同,说明响应与用户无关。其中,相似度阈值是预先设定的一致性比较的标准,在一个实施例中,该相似度阈值可以设置为0.99。
在一个实施例中,第二用户的数量可以是多个,步骤S105中的基于第一响应报文和第三响应报文的一致性,判断目标功能点是否存在越权查询的步骤可以包括:
若第一响应报文与多个第三响应报文均一致,则判断目标功能点存在越权查询;若否,则判断目标功能点不存在越权查询。
本实施例中,第二用户的数量为多个,即利用多个不同的会话参数来对目标功能点是否存在越权查询进行判断,从而提高判断的准确性。具体来说,设第一用户为用户A,第二用户的数量设为两个,依次设为用户B和用户C,判断设备200可以获取用户A、用户B和用户C在同一时间段内用于查询同一目标功能点的请求报文,包括第一请求报文和多个第二请求报文,相应的,第二请求报文的数量为两个,设为第二请求报文B和第二请求报文C,然后判断设备200提取该第二请求报文B携带的第三会话参数B,以及第二请求报文C携带的第三会话参数C,接着判断设备200分别利用第三会话参数B和第三会话参数C替换第一请求报文的第一会话参数,得到第三请求报文B和第三请求报文C,从而完成会话参数的替换过程,该过程称为会话参数的交叉替换,而在会话参数的替换过程中,可以保持第一请求报文中的查询条件不变。
判断设备200得到第一请求报文、第三请求报文B和第三请求报文C以后,将第一请求报文、第三请求报文B和第三请求报文C发送给应用服务器200进行响应,接收应用服务器200返回的第一响应报文、第三响应报文B和第三响应报文C。判断设备200比较第一响应报文与第三响应报文B的一致性,以及第一响应报文与第三响应报文C的一致性,在一个实施例中,若第一响应报文与第三响应报文B一致,且第一响应报文与第三响应报文C一致,则表示第一响应报文与两个第三响应报文均一致,判断该目标功能点存在越权查询;若否,则可以认为该目标功能点不存在越权查询。
进一步的,可以基于余弦相似度确定第一响应报文与多个第三响应报文之间的一致性。具体来说,可以分别将第一响应报文与多个第三响应报文转化为相应的向量,设为第一向量、第三向量B和第三向量C,然后计算第一向量与第三向量B的余弦相似度S1,以及第一向量与第三向量C的余弦相似度S2,接着可以根据余弦相似度S1和余弦相似度S2判断第一响应报文与多个第三响应报文是否一致。在一个实施例中,可以先计算余弦相似度S1和余弦相似度S2的平均值,然后将该平均值与预先设定的相似度阈值进行比较,如果该平均值小于相似度阈值,则判断第一响应报文与多个第三响应报文不一致;如果该平均值大于或等于相似度阈值,则判断第一响应报文与多个第三响应报文均一致。在一个实施例中,也可以将余弦相似度S1和余弦相似度S2分别与相似度阈值进行比较,若余弦相似度S1和余弦相似度S2均大于或等于相似度阈值,则判断第一响应报文与多个第三响应报文相一致,否则判断第一响应报文与多个第三响应报文不一致。基于多个用户的会话参数来对功能点是否存在越权查询进行判断,能够提高越权查询判断的准确度,而且随着对比用户的数量增加,检测结果的置信度也会越高。
为了更清晰阐述本发明实施例的技术方案,结合图4对本发明实施例提供的越权查询的判断方法进行说明,图4为一个实施例中越权查询的判断方法的原理示意图,判断功能点是否存在越权查询的具体步骤可以包括:
用户A和用户B可以通过相应的访问终端将账号和密码发送给应用服务器,应用服务器在对账号密码进行校验后,返回会话参数A给用户A,返回会话参数B给用户B,从而完成登录处理,在用户A和用户B登录应用服务器期间,应用服务器会维护会话参数与用户身份信息一对一关系。
当用户A需要通过相关功能点查询与***相关的数据时,可以通过访问终端将携带***A和会话参数A的第一请求报文发送给应用服务器,应用服务器则会将携带查询结果(即用户A的数据)的第一响应报文反馈给用户A。为了判断该功能点是否存在越权查询,判断设备200可以获取用户B的会话参数B,将第一请求报文中的会话参数A替换为会话参数B,得到第三请求报文,该第三请求报文中携带会话参数B和***A,然后判断设备200将该第三请求报文发送给应用服务器,在应用服务器得到携带查询结果的第三响应报文后,判断设备200可以获取该第三响应报文,如果该第三响应报文与第一响应报文一致,则说明第三响应报文中携带了用户A的数据,该功能点存在越权查询,否则可以判断该功能点不存在越权查询。
在一个实施例中,可以在对目标功能点进行越权查询之前,先确定应用服务器提供的各个功能点当中,哪些功能点属于目标功能点。
本实施例中,由于应用服务器提供的功能点数量庞大,如果每一个功能点都进行越权查询检测,则会花费大量的时间,因此,在进行越权查询检测之前,可以先从各个功能点中确定需要进行越权查询检测的目标功能点。目标功能点一般是涉及查询用户隐私数据的功能点,不同用户查询到的数据是不一样的,因此,可以对比不同用户对同一个功能点进行访问得到的响应报文的一致性,确定该功能点是否需要进行越权查询检测,可以将需要进行越权查询检测的功能点进行标记,如标记为目标功能点,判断设备200后续即可根据该标记判断是否需要对该功能点进行越权查询检测。
在一个实施例中,识别是否需要进行越权查询检测的功能点的具体步骤可以包括:
获取第一请求报文和第二请求报文,该第一请求报文和第二请求报文分别是第一用户和第二用户对同一个功能点进行访问的请求报文;然后将该第一请求报文和第二请求报文发送给应用服务器,应用服务器会响应第一请求报文得到第一响应报文,响应第二请求报文得到第二响应报文,接着可以获取该第一响应报文和第二响应报文,比较第一响应报文和第二响应报文是否一致,如果该第一响应报文和第二响应报文一致,则说明该功能点的响应与用户无关,可以认为该功能点无需进行越权检测;如果该第一响应报文和第二响应报文不一致,则说明该功能点的响应与用户有关,响应内容的可能携带有隐私数据,从而可以判断该功能点需要进行越权检测,进一步可以标记为目标功能点。在一个实施例中,可以基于余弦相似度原理对第一响应报文和第二响应报文的一致性进行比较,具体的比较过程可以参照如上实施例所述对第一响应报文和第三响应报文进行比较的过程,在此不再赘述。
下面结合5对完整的越权检测方法进行说明,图5为另一个实施例中越权查询的判断方法的原理示意图,完整的越权检测方法可以包括对功能点是否需要进行越权查询检测进行识别,以及判断该功能点是否存在越权查询这两个过程。其中,先对功能点是否需要进行越权查询检测进行识别,判断设备200可以获取不同用户在同一个时间段对同一个功能点进行查询的第一请求报文和第二请求报文,将第一请求报文和第二请求报文发送给应用服务器,使得应用服务器反馈第一响应报文和第二响应报文,通过比较第一响应报文和第二响应报文是否一致即可判断该功能点是否需要进行越权查询检测,若该功能点需要越权查询检测,则进入判断是否存在越权查询的过程。判断终端200可以提取第二请求报文中携带的会话参数B,用该会话参数B去替换第一请求报文携带的会话参数A,得到第三请求报文,需要说明的是,判断终端200也可以收集多个不同登录用户的会话参数,交叉替换第一请求报文的会话参数得到多个第三请求报文。在将会话参数替换后,判断终端200将第三请求报文发送给应用服务器300,获取应用服务器300响应得到的第三响应报文。然后,判断终端200将第一响应报文和第三响应报文进行比较,即如图5所示将响应报文A(对应于第一响应报文)和响应报文B(对应于第三响应报文)进行一致性比较,先将响应报文A转化为向量An,将响应报文B转化为向量Bn,计算向量An和向量Bn的余弦相似度,将该余弦相似度与预先设定的相似度阈值(可以设为0.99)进行比较,若余弦相似度大于或等于0.99,则判断第一响应报文和第三响应报文一致,该功能点存在越权查询;若余弦相似度小于0.99,判断第一响应报文和第三响应报文不一致,该功能点不存在越权查询。
本发明实施例提供对功能点是否存在越权查询进行判断的方法,通过深入分析越权漏洞的独特性,抓住越权查询的本质,突破了自动化实现人工检测过程的常规思路,还能进一步将越权检测点的确定过程和越权查询是否存在的判定过程简化为统一的比较响应报文的一致性,避免了常规思路实现难度大、执行效率低等缺陷。
在一个实施例中,提供了一种越权查询的判断装置,参考图6,图6为一个实施例中越权查询的判断装置的结构框图,该越权查询的判断装置可以包括:
第一获取模块101,用于获取应用服务器的第一响应报文;其中,第一响应报文为应用服务器响应第一请求报文得到的;第一请求报文用于第一用户对应用服务器的目标功能点进行查询;
替换模块102,用于将第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,第二会话参数为第二请求报文携带的会话参数;第二请求报文用于第二用户对目标功能点进行查询;第二用户与第一用户为不同用户;
发送模块103,用于将第三请求报文发送至应用服务器;
第二获取模块104,用于获取应用服务器的第三响应报文;第三响应报文为应用服务器响应第三请求报文得到的;
判断模块105,用于基于第一响应报文和第三响应报文的一致性,判断目标功能点是否存在越权查询。
本发明的越权查询的判断装置与本发明的越权查询的判断方法一一对应,关于越权查询的判断装置的具体限定可以参见上文中对于越权查询的判断方法的限定,在上述越权查询的判断方法的实施例阐述的技术特征及其有益效果均适用于越权查询的判断装置的实施例中,在此不再赘述。上述越权查询的判断装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端,其内部结构图可以如图7所示,图7为一个实施例中计算机设备的内部结构图。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库可以用于存储请求报文、响应报文等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种越权查询的判断方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项实施例所述的越权查询的判断方法。
上述计算机设备,通过所述处理器上运行的计算机程序,能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。
本领域普通技术人员可以理解实现如上任一项实施例所述的越权查询的判断方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
据此,在一个实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上任一项实施例所述的越权查询的判断方法。
上述计算机可读存储介质,通过其存储的计算机程序,能够保持请求报文中的查询条件不变,对请求报文中的会话参数进行修改,从而基于会话参数修改前后得到的响应报文的一致性判断相应的功能点是否发生了越权查询,无需逐一修改请求报文的查询条件,提高了越权查询的判断效率。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种越权查询的判断方法,其特征在于,包括步骤:
获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;
将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与所述第一用户为不同用户;
将所述第三请求报文发送至所述应用服务器;
获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;
基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询的步骤包括:
若所述第一响应报文与所述第三响应报文一致,则判断所述目标功能点存在越权查询。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询的步骤包括:
若所述第一响应报文与所述第三响应报文不一致,则判断所述目标功能点不存在越权查询。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询的步骤之前,还包括:
将所述第一响应报文转化为第一向量;
将所述第三响应报文转化为第三向量;
计算所述第一向量与第三向量的余弦相似度;
根据所述余弦相似度确定所述第一响应报文和第三响应报文的一致性。
5.根据权利要求4所述的方法,其特征在于,所述根据所述余弦相似度确定所述第一响应报文和第三响应报文的一致性的步骤包括:
将所述余弦相似度与预设的相似度阈值进行比较;
若所述余弦相似度小于所述相似度阈值,则判断所述第一响应报文与所述第三响应报文不一致。
6.根据权利要求1所述的方法,其特征在于,所述第二用户的数量为多个;
所述基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询的步骤包括:
若所述第一响应报文与多个第三响应报文均一致,则判断所述目标功能点存在越权查询;若否,则判断所述目标功能点不存在越权查询;其中,所述多个第三响应报文分别对应于多个第三请求报文;所述多个第三请求报文,是利用多个第二会话参数替换所述第一请求报文携带的第一会话参数,得到的请求报文;所述多个第二会话参数分别为多个第二请求报文携带的会话参数;所述多个第二请求报文分别为多个第二用户对所述目标功能点进行查询的报文。
7.根据权利要求6所述的方法,其特征在于,所述第一响应报文与多个第三响应报文之间的一致性是基于余弦相似度确定的。
8.一种越权查询的判断装置,其特征在于,包括:
第一获取模块,用于获取应用服务器的第一响应报文;其中,所述第一响应报文为所述应用服务器响应第一请求报文得到的;所述第一请求报文用于第一用户对所述应用服务器的目标功能点进行查询;
替换模块,用于将所述第一请求报文携带的第一会话参数替换为第二会话参数,得到第三请求报文;其中,所述第二会话参数为第二请求报文携带的会话参数;所述第二请求报文用于第二用户对所述目标功能点进行查询;所述第二用户与第一用户为不同用户;
发送模块,用于将所述第三请求报文发送至所述应用服务器;
第二获取模块,用于获取所述应用服务器的第三响应报文;所述第三响应报文为所述应用服务器响应所述第三请求报文得到的;
判断模块,用于基于所述第一响应报文和第三响应报文的一致性,判断所述目标功能点是否存在越权查询。
9.一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN201911067611.7A 2019-11-04 2019-11-04 越权查询的判断方法、装置、计算机设备和存储介质 Pending CN111125748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911067611.7A CN111125748A (zh) 2019-11-04 2019-11-04 越权查询的判断方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911067611.7A CN111125748A (zh) 2019-11-04 2019-11-04 越权查询的判断方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN111125748A true CN111125748A (zh) 2020-05-08

Family

ID=70495502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911067611.7A Pending CN111125748A (zh) 2019-11-04 2019-11-04 越权查询的判断方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111125748A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259327A (zh) * 2021-04-20 2021-08-13 长沙市到家悠享网络科技有限公司 一种自动化接口检测方法、***和计算机设备
CN113779585A (zh) * 2021-01-04 2021-12-10 北京沃东天骏信息技术有限公司 越权漏洞检测方法和装置
WO2023093017A1 (zh) * 2021-11-23 2023-06-01 深圳前海微众银行股份有限公司 一种Web服务设备的识别方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577949A (zh) * 2017-09-05 2018-01-12 郑州云海信息技术有限公司 一种Web越权漏洞检测方法与***
CN108932426A (zh) * 2018-06-27 2018-12-04 平安科技(深圳)有限公司 越权漏洞检测方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577949A (zh) * 2017-09-05 2018-01-12 郑州云海信息技术有限公司 一种Web越权漏洞检测方法与***
CN108932426A (zh) * 2018-06-27 2018-12-04 平安科技(深圳)有限公司 越权漏洞检测方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779585A (zh) * 2021-01-04 2021-12-10 北京沃东天骏信息技术有限公司 越权漏洞检测方法和装置
CN113259327A (zh) * 2021-04-20 2021-08-13 长沙市到家悠享网络科技有限公司 一种自动化接口检测方法、***和计算机设备
WO2023093017A1 (zh) * 2021-11-23 2023-06-01 深圳前海微众银行股份有限公司 一种Web服务设备的识别方法及装置

Similar Documents

Publication Publication Date Title
US11683330B2 (en) Network anomaly data detection method and device as well as computer equipment and storage medium
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
US10073916B2 (en) Method and system for facilitating terminal identifiers
CN110290212B (zh) 服务调用记录方法、装置、计算机设备和存储介质
WO2019144549A1 (zh) 漏洞测试方法、装置、计算机设备和存储介质
CN111125748A (zh) 越权查询的判断方法、装置、计算机设备和存储介质
EP3396558B1 (en) Method for user identifier processing, terminal and nonvolatile computer readable storage medium thereof
CN110378681B (zh) 账户资源转移路径的确定方法、装置、设备及存储介质
CN109766072B (zh) 信息校验输入方法、装置、计算机设备和存储介质
CN108287823B (zh) 消息数据处理方法、装置、计算机设备和存储介质
CN110493181B (zh) 用户行为检测方法、装置、计算机设备及存储介质
CN109766483B (zh) 正则表达式生成方法、装置、计算机设备和存储介质
CN112464117A (zh) 请求处理方法、装置、计算机设备和存储介质
CN111090788A (zh) json文件的比对方法、装置、存储介质及计算机设备
CN110083384B (zh) 应用程序编程接口创建方法以及装置
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
CN116366338B (zh) 一种风险网站识别方法、装置、计算机设备及存储介质
WO2021169305A1 (zh) 声纹数据处理方法、装置、计算机设备和存储介质
CN112052182A (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN113472803A (zh) 漏洞攻击状态检测方法、装置、计算机设备和存储介质
CN115840964A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN112559526A (zh) 数据表导出方法、装置、计算机设备及存储介质
CN111797005A (zh) 网关接口解析方法、装置、计算机设备和存储介质
CN109471717B (zh) 样本库拆分方法、装置、计算机设备及存储介质
CN111339317A (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: 20200508