CN112653670A - 业务逻辑漏洞检测方法、装置、存储介质以及终端 - Google Patents

业务逻辑漏洞检测方法、装置、存储介质以及终端 Download PDF

Info

Publication number
CN112653670A
CN112653670A CN202011431712.0A CN202011431712A CN112653670A CN 112653670 A CN112653670 A CN 112653670A CN 202011431712 A CN202011431712 A CN 202011431712A CN 112653670 A CN112653670 A CN 112653670A
Authority
CN
China
Prior art keywords
http
data stream
flow
sql statement
traffic
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
CN202011431712.0A
Other languages
English (en)
Other versions
CN112653670B (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.)
Beijing Dami Technology Co Ltd
Original Assignee
Beijing Dami Technology 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 Beijing Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN202011431712.0A priority Critical patent/CN112653670B/zh
Publication of CN112653670A publication Critical patent/CN112653670A/zh
Application granted granted Critical
Publication of CN112653670B publication Critical patent/CN112653670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

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)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种业务逻辑漏洞检测方法、装置、存储介质以及终端。所述方法包括:获取web应用生成的第一HTTP流量,所述第一HTTP流量携带第一数据流,将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。本申请根据流量中触发的数据流来判断是否存在越权漏洞,可以减小漏洞检测的误报率,同时还能避免产生更少的脏数据。

Description

业务逻辑漏洞检测方法、装置、存储介质以及终端
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务逻辑漏洞检测方法、装置、存储介质以及终端。
背景技术
随着互联网的发展,网络安全问题引起了越来越多的关注。其中,web应用导致的安全漏洞占比是最大的,利用web应用漏洞攻击者可以进入企业内网,极易导致用户信息泄漏、恶意勒索等非常严重的安全事件发生。大部分传统扫描器很难发现web应用中存在的逻辑漏洞,特别是越权漏洞。虽然已经有一些自动化越权检测工具出现,但是检测思路都是基于比对请求响应内容,存在非常高的误报率,同时极易带来大量脏数据,给测试人员带来非常大的干扰。
发明内容
本申请实施例提供了一种业务逻辑漏洞检测方法、装置、计算机存储介质以及终端,旨在解决如何检测web应用中的越权漏洞的技术问题。所述技术方案如下:
第一方面,本申请实施例提供了一种业务逻辑漏洞检测方法,所述方法包括:
获取web应用生成的第一HTTP流量;其中,所述第一HTTP流量携带第一数据流;
将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量;
基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。
第二方面,本申请实施例提供了一种业务逻辑漏洞检测装置,所述装置包括:
请求采集模块,用于获取web应用生成的第一HTTP流量;其中,所述第一HTTP流量携带第一数据流;
请求处理模块,用于将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量;
请求检测模块,用于基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。
第三方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供了一种终端,可包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述存储器加载并执行上述的方法步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例的方案在执行时,通过服务器获取web应用生成的第一HTTP流量,第一HTTP流量中携带第一数据流,然后将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,再基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。本申请根据HTTP流量中触发的数据流,来判断是否存在越权漏洞,减小了越权漏洞的误报率,还能够避免产生更少的脏数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务逻辑漏洞检测方法的***架构示意图;
图2是本申请实施例提供的一种业务逻辑漏洞检测方法的流程示意图;
图3是本申请实施例提供的一种业务逻辑漏洞检测方法的流程示意图;
图4是本申请实施例提供的一种业务逻辑漏洞检测装置的结构示意图;
图5是本申请实施例提供的终端的结构示意图;
图6是本申请实施例提供的操作***和用户空间的结构示意图;
图7是图5中安卓操作***的架构图;
图8是图5中IOS操作***的架构图。
具体实施方式
为使得本申请实施例的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
请参见图1,图1示出应用于本申请实施例的业务逻辑漏洞检测方法或者业务逻辑漏洞检测装置的应用场景示意图。如图1所示,***架构100可以包括第一终端101、102、103中的一种或多种,网络104,多个服务器105和第二终端106、107、108中的一种或多种。网络104用以在终端101、102、103和服务器105之间提供通信链路。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的第一终端101、网络104、第二终端106和服务器105的数目仅仅是示意性的。根据现实需要,可以具有任意数目第一终端101、网络104、教第二终端106和服务器105。比如服务器105可以是多个服务器组成的服务器集群等。第一终端101、102、103和第二终端106、107、108可以通过网络104与服务器105交互,以接收或发送消息等。第一终端101、102、103和第二终端106、107、108可以是具有显示屏的各种电子设备,包括但不限于智能终端、个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigital assistant,PDA)、5G网络或未来演进网络中的终端设备等。
在本申请中,第一终端可以为测试人员的终端,第二终端可以为安全人员的终端,测试人员在进行web测试时,会生成多个HTTP流量,那么测试人员的终端上的web客户端会将这些流量上传至web服务器,安全人员的终端再从web服务器获取测试人员的多个流量,并对这些流量进行越权漏洞的检测。
本申请实施例所提供的业务逻辑漏洞检测方法一般由的第二终端106执行,相应地,业务逻辑漏洞检测装置一般设置于第二终端106中,但本申请不限于此。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为终端进行介绍说明。
请参见图2,为本申请实施例提供的一种业务逻辑漏洞检测方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S201,获取web应用生成的第一HTTP流量;其中,第一HTTP流量中携带第一数据流。
其中,第一HTTP流量包括第一数据流和第一HTTP请求信息,第一数据流包括触发的sql语句、restapi调用以及rpc调用等。本申请实施例中获取的HTTP流量可以是在预设时间段内采集的用户流量信息,对用户流量信息的采集可以通过代理、插桩等技术进行采集。HTTP请求信息中可以包括:IP信息、URL、URL参数信息、cookie字段内的会话标识等。其中,预设时间段可以设置为1天、1周、2周等。URL参数信息可以包括U RL参数以及对应的参数值等相关信息。cookie字段内的会话标识用于标识发起HTTP请求的用户身份,会话标识可以理解为用户身份信息。
S202,将第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量。
其中,标记处理表示对第一HTTP流量中的第一HTTP请求信息进行标记处理,主要是在第一HTTP请求信息的header里面添加一个标记。第一HTTP请求信息里携带用户的身份信息,可以称之为第一用户身份信息。同样地,第二HTTP流量包括第二HTTP请求信息和第二数据流,第二HTTP请求信息也携带用户的身份信息,可以称之为第二用户身份信息。那么身份替换处理是表示将第一HTTP请求信息中的第一用户身份信息替换为第二用户身份信息,得到第二HTTP流量。
可以理解的是,在第一HTTP请求信息中添加一个标记之后,如果插桩的程序发现请求信息中的header里包含这个标记,在后续对该流量进行流量重放的过程中,就会对update类型的sql语句进行拦截,并且篡改数据包,可以防止产生脏数据。
S203,基于第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于第一数据流和第二数据流判断是否存在越权漏洞。
其中,HTTP流量的访问过程中触发的数据流可以包括sql语句数据、restapi调用的数据以及rpc调用的数据等。越权漏洞是一种常见的逻辑安全漏洞,是由于web服务器对用户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他账户的增、删、查、改功能,从而导致越权漏洞。
可以理解的是,基于第二HTTP流量进行访问,并获取访问过程中触发的第二数据流,本申请实施例中的获取的数据流是指访问过程中的sql语句数据,不涉及其他的数据流,并且基于sql语句数据来判断是否存在越权漏洞。具体的,基于sql语句数据流判断是否存在越权漏洞,主要是判断第二HTTP请求中执行的sql语句和第一HTTP请求中执行的sql语句是否相同。若相同,则说明存在越权漏洞;若不同,则说明不存在越权漏洞。
本申请实施例的方案在执行时,通过服务器获取web应用生成的第一HTTP流量,所述第一HTTP流量携带第一数据流,然后将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,再基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。本申请根据HTTP流量中触发的数据流,来判断是否存在越权漏洞,减小了越权漏洞的误报率,还能够避免产生更少的脏数据。
请参见图3,为本申请实施例提供的一种业务逻辑漏洞检测方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤:
S301,获取web应用生成的第一HTTP流量;其中,所述第一HTTP流量中携带第一数据流。
在一种可能的实施方式中,采集web应用在测试环境中生成的多个HTTP流量,可以随机从多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。在采集多个HTTP流量时,可以设置采集预设时间段内的HTTP流量,这样,可以检测应用在某一时间段内是否存在越权漏洞,可以提高检测漏洞的效率。预设时间段可以设置为1天、7天、15天等等,本申请实施例对此不作任何限制。在采集多个HTTP流量时,可以设置采集预设数量的HTTP流量,在采集的HTTP流量达到预设数量的时停止此次采集,这样,可以扩大检测漏洞的范围。预设数量可以设置为100、200、500等等,本申请实施例对此不作任何限制。
在一种可能的实施方式中,采集web应用在测试环境中生成的多个HTTP流量,可以根据预设时间顺序从多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。这里的预设时间顺序可以是将多个HTTP流量中从早到晚进行排序,可以从多个HTTP流量中按照从早到晚的时间顺序对每个HTTP流量进行依次检测,还可以从多个HTTP流量中按照从晚到早的时间顺序对每个流量中进行依次检测。同样地,在采集多个HTTP流量时,可以设置采集预设时间内的HTTP流量,也可以设置采集预设数量的HTTP流量中,具体可参见上述实施例,在此不再赘述。
S302,将第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量。
其中,身份替换处理表示将第一用户身份信息替换为第二用户身份信息,第一身份信息表示第一HTTP流量中的第一HTTP请求信息中携带的用户身份信息,第二用户身份信息用于表示第二HTTP流量中的第二HTTP请求信息中携带的用户身份信息。
一般的,对第一HTTP流量中进行标记处理是指在第一HTTP请求信息中的请求头header中添加一个标记,比如,testSource:securityteam。这样,在后续基于第二HTTP流量进行访问的过程中,插桩的程序发现请求里的header里包含securityteam就会对update类型的sql语句进行拦截,并篡改数据包防止产生脏数据。
S303,获取第二HTTP流量在访问过程中执行的第二SQL语句,判断第二HTTP流量执行的SQL语句和第一HTTP流量执行的第一SQL语句是否相同。
S304,若相同,则存在越权漏洞。
S305,若不相同,则不存在越权漏洞。
下面对S303~S305进行具体的说明。
一般的,在对携带第二身份信息的第二HTTP流量进行访问过程中,获取访问过程中执行的sql语句,如果将第二HTTP流量执行的sql语句定义为第二sql语句,将第一HTTP流量执行的sql语句定义为第一sql语句,那么可以根据第一sql语句和第二sql语句来确定是否存在越权漏洞。另外,在第二HTTP流量执行的sql语句包括update语句时,对update语句进行修改。基于修改后的sql语句生成数据包,然后将数据包发送给数据库,并且还将update语句中的操作字符修改为预设字符。
举例来说:第一HTTP流量中携带用户A的用户身份信息(sessionID:aaaaa),然后将第一HTTP流量中用户A的用户身份信息更改为用户B的用户身份信息(sessionID:bbbbb)。如果第一HTTP流量中的第一sql语句为“update table set username=sarawhere userid=teacher_a”,第一HTTP流量是用户A发起的,可以理解的,第一HTTP流量中携带的用户身份信息就为sessionID:aaaaa。那么对第二HTTP流量进行访问的话,如果第二HTTP流量执行的第二sql语句为“update table set username=sara where userid=teacher_a”,此时第一sql语句和第二sql语句相同,则说明是存在越权漏洞的。由于没有越权漏洞的话,第二HTTP流量中携带的用户身份信息为sessionID:bbbbb,在对第二HTTP流量中进行访问的过程中,经校验之后,获取用户B的相关信息,执行的sql语句中也是对B的相关信息进行增删改查,不存在越权漏洞,执行的第二sql语句应该为“update table setusername=sara where userid=teacher_b”。
可以理解的是,执行第二HTTP流量的目的是检测是否存在越权漏洞的,在执行sql语句时,涉及到update语句时,并不需要真正修改第二HTTP流量所携带的用户身份信息所对应的用户B的信息,或者重复修改第二HTTP流量所携带的用户身份信息所对应的用户A的信息。对用户B的信息进行修改,或对用户A的信息进行重复修改,都会产生脏数据的。因此,为了避免脏数据的产生,可以在sql语句中包括update语句时,对update语句进行修改。这里的修改可以将update语句中的功能字符update修改为预设字符或任意字符。比如,将“update table set username=sara where userid=teacher_a”修改为“select tableset username=sara where userid=teacher_a”或“updateng table set username=sara where userid=teacher_a”。那么在将update语句进行修改之后,基于修改后的sql语句生成数据包,然后将数据包发送给数据库。这样,可以在检测越权漏洞时有效避免脏数据的产生。
本申请实施例的方案在执行时,通过服务器获取web应用生成的第一HTTP流量,所述第一HTTP流量携带第一数据流,然后将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,再基于所述第二HTTP流量进行访问,获取访问过程中执行的第二sql语句,并将第二HTTP流量执行的第二sql语句和第一HTTP流量执行的第一sql语句进行比较。若二者相同,则说明存在越权漏洞,若不同,则说明不存在越权漏洞。另外,在sql语句中包括update语句时,还可以对update语句进行修改,并将修改后的sql语句发送给数据库。本申请的方法,不仅可以减小越权漏洞的误报率,同时还可以避免产生更少的脏数据。
请参见图4,为本申请实施例提供的一种业务逻辑漏洞检测装置的结构示意图。该在业务逻辑漏洞检测装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置400包括:
请求采集模块410,用于获取web应用生成的第一超文本传输协议HTTP流量;其中,所述第一HTTP流量携带第一数据流;
请求处理模块420,用于将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量;
请求检测模块430,用于基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。
可选地,请求处理模块420包括:
请求处理单元,用于将所述第一HTTP请求信息进行标记,以及将所述第一用户身份信息替换为第二用户身份信息,得到所述第二HTTP流量。
可选地,请求检测模块430包括:
第一请求检测单元,用于获取所述第二HTTP流量在访问过程中执行的所述第二SQL语句;
第二请求检测单元,用于在所述第二HTTP流量执行的所述第二SQL语句和所述第一HTTP流量执行的所述第一SQL语句相同,则存在越权漏洞。
可选地,请求检测模块430还包括:
第三请求检测单元,用于在所述第二HTTP流量执行的所述第二SQL语句和所述第一HTTP流量执行的所述第一SQL语句不相同,则不存在越权漏洞。
可选地,请求检测模块430包括:
第四请求检测单元,用于在所述第二HTTP流量执行的所述第二SQL语句包括update语句时,对所述update语句进行修改;
第五请求检测单元,用于基于修改后的第二SQL语句生成数据包,以及将数据包发送给数据库。
可选地,请求采集模块410包括:
第一采集单元,用于采集web应用在测试环境中生成的多个HTTP流量;
第二采集单元,用于随机从所述多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。
可选地,请求采集模块410包括:
第三采集单元,用于采集web应用在测试环境中生成的多个HTTP流量;
第四采集单元,用于根据预设时间顺序从所述多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。
本申请实施例的方案在执行时,通过服务器获取web应用生成的第一HTTP流量,所述第一HTTP流量携带第一数据流,然后将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,再基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。本申请根据HTTP流量中触发的数据流,来判断是否存在越权漏洞,减小了越权漏洞的误报率,还能够避免产生更少的脏数据。
请参见图5,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器510、存储器520、输入装置530、输出装置540和总线550。处理器510、存储器520、输入装置530和输出装置540之间可以通过总线550连接。
处理器510可以包括一个或者多个处理核心。处理器510利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行终端的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器510可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。
存储器520可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器520包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作***可以是安卓(Android)***(包括基于Android***深度开发的***)、苹果公司开发的IOS***(包括基于IOS***深度开发的***)或其它***。存储数据区还可以存储终端在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
参见图6所示,存储器520可分为操作***空间和用户空间,操作***即运行于操作***空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作***针对不同第三方应用程序为其分配相应的***资源。然而,同一第三方应用程序中不同应用场景对***资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作***与第三方应用程序之间相互独立,操作***往往不能及时感知第三方应用程序当前的应用场景,导致操作***无法根据第三方应用程序的具体应用场景进行针对性的***资源适配。
为了使操作***能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作***之间的数据通信,使得操作***能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的***资源适配。
以操作***为Android***为例,存储器520中存储的程序和数据如图7所示,存储器520中可存储有Linux内核层720、***运行时库层740、应用框架层760和应用层780,其中,Linux内核层720、***运行库层740和应用框架层760属于操作***空间,应用层780属于用户空间。Linux内核层720为终端的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。***运行库层740通过一些C/C++库来为Android***提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在***运行时库层740中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层760提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层780中运行有至少一个应用程序,这些应用程序可以是操作***自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、购物程序等。
以操作***为IOS***为例,存储器520中存储的程序和数据如图8所示,IOS***包括:核心操作***层820(Core OS layer)、核心服务层840(Core Services layer)、媒体层860(Media layer)、可触摸层880(Cocoa Touch Layer)。核心操作***层820包括了操作***内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层840的程序框架所使用。核心服务层840提供给应用程序所需要的***服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层860为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层880为应用程序开发提供了各种常用的界面相关的框架,可触摸层880负责用户在终端上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图8所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层840中的基础框架和可触摸层880中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的***服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS***中实现第三方应用程序与操作***数据通信的方式以及原理可参考Android***,本申请在此不再赘述。
其中,输入装置530用于接收输入的指令或数据,输入装置530包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置540用于输出指令或数据,输出装置540包括但不限于显示设备和扬声器等。在一个示例中,输入装置530和输出装置540可以合设,输入装置530和输出装置540为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的终端。可选地,各步骤的执行主体为终端的操作***。操作***可以是安卓***,也可以是IOS***,或者其它操作***,本申请实施例对此不作限定。
本申请实施例的终端,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端101上的显示设备,来查看显示的文字、图像、视频等信息。所述终端可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图5所示的终端中,处理器510可以用于调用存储器520中存储的应用程序,并具体执行本申请实施例的业务逻辑漏洞检测方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种业务逻辑漏洞检测方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种业务逻辑漏洞检测方法,其特征在于,所述方法包括:
获取web应用生成的第一HTTP流量;其中,所述第一HTTP流量携带第一数据流;
将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量;
基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。
2.根据权利要求1所述的方法,其特征在于,所述第一HTTP流量包括第一HTTP请求信息和所述第一数据流;其中,所述第一HTTP请求信息包含第一用户身份信息。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量,包括:
将所述第一HTTP请求信息进行标记,以及将所述第一用户身份信息替换为第二用户身份信息,得到所述第二HTTP流量。
4.根据权利要求1所述的方法,其特征在于,所述第一数据流包括第一SQL语句,以及所述第二数据流包括第二SQL语句。
5.根据权利要求4所述的方法,其特征在于,所述获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞,包括:
获取所述第二HTTP流量在访问过程中执行的所述第二SQL语句;
若所述第二HTTP流量执行的所述第二SQL语句和所述第一HTTP流量执行的所述第一SQL语句相同,则存在越权漏洞。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第二HTTP流量执行的所述第二SQL语句和所述第一HTTP流量执行的所述第一SQL语句不相同,则不存在越权漏洞。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在所述第二HTTP流量执行的所述第二SQL语句包括update语句时,对所述update语句进行修改;
基于修改后的第二SQL语句生成数据包,以及将数据包发送给数据库。
8.根据权利要求1所述的方法,其特征在于,所述获取web应用生成的第一HTTP流量,包括:
采集web应用在测试环境中生成的多个HTTP流量;
随机从所述多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。
9.根据权利要求1所述的方法,其特征在于,所述获取web应用生成的第一HTTP流量,包括:
采集web应用在测试环境中生成的多个HTTP流量;
根据预设时间顺序从所述多个HTTP流量中选择一个HTTP流量作为第一HTTP流量。
10.一种业务逻辑漏洞检测装置,其特征在于,所述装置包括:
请求采集模块,用于获取web应用生成的第一HTTP流量;其中,所述第一HTTP流量携带第一数据流;
请求处理模块,用于将所述第一HTTP流量进行标记处理和身份替换处理后得到第二HTTP流量;
请求检测模块,用于基于所述第二HTTP流量进行访问,获取访问过程中触发的第二数据流,基于所述第一数据流和所述第二数据流判断是否存在越权漏洞。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~9任意一项的方法步骤。
12.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~9任意一项的方法步骤。
CN202011431712.0A 2020-12-08 2020-12-08 业务逻辑漏洞检测方法、装置、存储介质以及终端 Active CN112653670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011431712.0A CN112653670B (zh) 2020-12-08 2020-12-08 业务逻辑漏洞检测方法、装置、存储介质以及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011431712.0A CN112653670B (zh) 2020-12-08 2020-12-08 业务逻辑漏洞检测方法、装置、存储介质以及终端

Publications (2)

Publication Number Publication Date
CN112653670A true CN112653670A (zh) 2021-04-13
CN112653670B CN112653670B (zh) 2023-11-10

Family

ID=75350597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011431712.0A Active CN112653670B (zh) 2020-12-08 2020-12-08 业务逻辑漏洞检测方法、装置、存储介质以及终端

Country Status (1)

Country Link
CN (1) CN112653670B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595972A (zh) * 2021-06-08 2021-11-02 贵州电网有限责任公司 基于中间件流量分析技术的web业务行为逻辑检测方法
CN113885958A (zh) * 2021-09-30 2022-01-04 杭州默安科技有限公司 一种拦截脏数据的方法和***
CN114422274A (zh) * 2022-03-29 2022-04-29 腾讯科技(深圳)有限公司 一种基于云原生的多场景漏洞检测方法、装置及存储介质
CN114499960A (zh) * 2021-12-24 2022-05-13 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN114640506A (zh) * 2022-02-28 2022-06-17 天翼安全科技有限公司 一种漏洞检测方法、装置、设备及介质
CN115348086A (zh) * 2022-08-15 2022-11-15 中国电信股份有限公司 一种攻击防护方法及装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282897A1 (en) * 2005-05-16 2006-12-14 Caleb Sima Secure web application development and execution environment
CN101312393A (zh) * 2007-05-24 2008-11-26 北京启明星辰信息技术有限公司 一种sql注入漏洞检测方法及***
CN106713347A (zh) * 2017-01-18 2017-05-24 国网江苏省电力公司电力科学研究院 一种电力移动应用越权访问漏洞检测方法
CN110688659A (zh) * 2019-09-10 2020-01-14 深圳开源互联网安全技术有限公司 基于iast测试工具动态检测水平越权的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282897A1 (en) * 2005-05-16 2006-12-14 Caleb Sima Secure web application development and execution environment
CN101312393A (zh) * 2007-05-24 2008-11-26 北京启明星辰信息技术有限公司 一种sql注入漏洞检测方法及***
CN106713347A (zh) * 2017-01-18 2017-05-24 国网江苏省电力公司电力科学研究院 一种电力移动应用越权访问漏洞检测方法
CN110688659A (zh) * 2019-09-10 2020-01-14 深圳开源互联网安全技术有限公司 基于iast测试工具动态检测水平越权的方法及***

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595972A (zh) * 2021-06-08 2021-11-02 贵州电网有限责任公司 基于中间件流量分析技术的web业务行为逻辑检测方法
CN113885958A (zh) * 2021-09-30 2022-01-04 杭州默安科技有限公司 一种拦截脏数据的方法和***
CN113885958B (zh) * 2021-09-30 2023-10-31 杭州默安科技有限公司 一种拦截脏数据的方法和***
CN114499960A (zh) * 2021-12-24 2022-05-13 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN114499960B (zh) * 2021-12-24 2024-03-22 深圳开源互联网安全技术有限公司 一种csrf漏洞识别方法、装置及计算机可读存储介质
CN114640506A (zh) * 2022-02-28 2022-06-17 天翼安全科技有限公司 一种漏洞检测方法、装置、设备及介质
CN114640506B (zh) * 2022-02-28 2023-10-31 天翼安全科技有限公司 一种漏洞检测方法、装置、设备及介质
CN114422274A (zh) * 2022-03-29 2022-04-29 腾讯科技(深圳)有限公司 一种基于云原生的多场景漏洞检测方法、装置及存储介质
CN115348086A (zh) * 2022-08-15 2022-11-15 中国电信股份有限公司 一种攻击防护方法及装置、存储介质及电子设备
CN115348086B (zh) * 2022-08-15 2024-02-23 中国电信股份有限公司 一种攻击防护方法及装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112653670B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
CN112653670B (zh) 业务逻辑漏洞检测方法、装置、存储介质以及终端
CN107889070B (zh) 图片处理方法、装置、终端及计算机可读存储介质
CN112260853B (zh) 容灾切换方法、装置、存储介质及电子设备
CN112214653B (zh) 字符串识别方法、装置、存储介质及电子设备
CN112231617A (zh) 服务调用校验方法、装置、存储介质及电子设备
CN111596971B (zh) 应用清理方法、装置、存储介质及电子设备
CN110572815A (zh) 网络访问方法、装置、存储介质及终端
CN111752644A (zh) 接口模拟方法、装置、设备及存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN108289056B (zh) 分享动态图表的方法、装置以及计算设备
CN113098859B (zh) 网页页面回退方法、装置、终端及存储介质
CN113950043B (zh) 通信方法、装置、存储介质以及终端
CN115379005A (zh) 一种消息处理方法、装置、存储介质及电子设备
CN113572676B (zh) 一种邮件处理方法及装置
CN113312572A (zh) 一种资源处理方法、装置、存储介质及电子设备
CN114185845A (zh) 一种文件管理方法、装置、计算机设备及存储介质
CN111770510A (zh) 网络体验状态确定方法、装置、存储介质及电子设备
CN113315687B (zh) 代理网络管理方法、装置、存储介质以及终端
CN112612487B (zh) 应用安装方法、装置、存储介质以及终端
CN114125048B (zh) 一种消息推送设置方法、装置、存储介质及电子设备
CN113778386B (zh) 组件生成方法、装置、存储介质及电子设备
CN117591488B (zh) 一种文件检测方法、装置、存储介质及电子设备
CN110278331B (zh) ***属性的反馈方法、装置、终端及存储介质
CN115495177A (zh) 界面显示方法、装置、存储介质以及终端
CN118070286A (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