CN114969766B - 账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 - Google Patents
账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 Download PDFInfo
- Publication number
- CN114969766B CN114969766B CN202210902037.8A CN202210902037A CN114969766B CN 114969766 B CN114969766 B CN 114969766B CN 202210902037 A CN202210902037 A CN 202210902037A CN 114969766 B CN114969766 B CN 114969766B
- Authority
- CN
- China
- Prior art keywords
- response information
- login
- request
- request data
- information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种账号锁定绕过逻辑漏洞检测方法、系统以及存储介质,所述方法包括:获取第一请求数据和第一响应信息;根据第一请求数据请求登陆,并获取第二响应信息,结合第一响应信息,判断是否存在验证码验证;将第一请求数据中的账号信息进行置错形成第二请求数据,根据第二请求数据,依次进行预设次数的请求登陆以获取账号锁定响应信息和第三请求数据;根据第三请求数据请求登陆,并获取第三响应信息,结合账号锁定响应信息,判断是否存在账号锁定绕过逻辑漏洞。该检测方法能够适应于验证码防护场景,并且避开对被测代码强依赖的类IAST检测模式,转而以渗透测试的方式直击该类漏洞本质,提高了账号锁定绕过逻辑漏洞检测的普适性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种账号锁定绕过逻辑漏洞检测方法、系统以及存储介质。
背景技术
账号锁定是系统的一项防护措施,当用户登录的错误次数达到设定的阈值时,会将账号进行锁定,当存在账号锁定绕过漏洞时,黑客一般通过撞库攻击和弱密码遍历等手段,仍然可以获取到成功登录的账户,从而实现非法登录,因此为了保障系统的实时安全,需要一种可靠的检测方式来进行检测是否存在账号锁定绕过逻辑漏洞。
现有的对于账号锁定绕过逻辑漏洞检测方法主要分为两类,一类为传统依托爬虫、流量代理和重放技术实现的账号锁定绕过检测方法,由于现有的很多应用程序含有安全验证等防护措施,网络爬虫无法获取请求数据而进行重放攻击,也就不能对账号锁定绕过进行检测,所以这种方式无法适用于具有验证码验证的测试环境;第二类为插桩模式,在保证目标程序原有逻辑完整的情况下,在特定的位置插入探针,在应用程序运行时,通过探针获取请求、代码数据流、代码控制流等,基于请求、代码、数据流、控制流综合分析来进行漏洞检测,这种检测方式因为要从源代码上进行分析检测,因此需要区分不同的开发语言,并且在代码层面上进行配置部署也增加了整体检测的时间,不适用于需要产品快速迭代上线的客户场景。上述两种检测方式仅能够在有限场景下检测账号锁定绕过逻辑漏洞,缺乏普适性。
发明内容
本申请的目的是提供一种账号锁定绕过逻辑漏洞检测方法、系统以及存储介质,能够适应于验证码防护场景,并且避开对被测代码强依赖的类IAST检测模式,提高账号锁定绕过逻辑漏洞检测的普适性。
第一方面,本申请提供一种账号锁定绕过逻辑漏洞检测方法,采用如下的技术方案:一种账号锁定绕过逻辑漏洞检测方法,包括以下步骤:
获取第一请求数据和第一响应信息,所述第一请求数据包括账号信息、请求地址,所述第一响应信息为成功登陆响应信息;
根据所述第一请求数据请求登陆,并获取相应的第二响应信息,判断所述第二响应信息和所述第一响应信息是否相同,
若所述第二响应信息和所述第一响应信息不相同,输出第一提示信息,所述第一提示信息用于表达存在验证码验证;
若所述第二响应信息和所述第一响应信息相同,将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息;
记所述最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若第三响应信息与账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
通过上述技术方案,在进行账号锁定绕过漏洞检测时,首先可以检测出是否存在验证码验证,并可进一步检测是否存在验证码绕过漏洞,使得该检测方法能够适应于验证码防护场景,并且避开了对被测代码强依赖的类IAST检测模式,转而以渗透测试的方式直击该类漏洞本质,提高了账号锁定绕过逻辑漏洞检测的普适性。
可选的,所述根据所述第一请求数据请求登陆,并获取第二响应信息,包括:
根据所述第一请求数据请求登陆,通过预设的监听程序捕获登陆请求,并获取与登录请求数据相匹配的登录响应信息。
可选的,所述第一请求数据中还包括验证码对应字段;在所述输出第一提示信息之后,还包括以下步骤:
将所述第一请求数据中验证码对应字段进行修改以形成第四请求数据;
根据所述第四请求数据请求登陆,并获取相应的第四响应信息;
判断所述第四响应信息和所述第一响应信息是否相同,
若所述第四响应信息和所述第一响应信息不同,输出第四提示信息,所述第四提示信息用于表达不存在验证码绕过漏洞;
若所述第四响应信息和所述第一响应信息相同,输出第五提示信息,所述第五提示信息用于表达存在验证码绕过漏洞。
可选的,所述将所述第一请求数据中验证码对应字段进行修改,包括:
将第一请求数据中验证码对应字段中参数对应的值置空或对验证码对应字段进行删除。
可选的,在所述输出存在验证码绕过漏洞提示之后,
将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息。
可选的,所述根据第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息,包括:
将请求登陆次数记为1,根据第二请求数据请求登陆,并获取第一次响应信息;
将请求登陆次数累加1,并判断请求登陆次数是否大于预设的阈值,
若请求登陆次数不大于预设的阈值,则再次请求登陆,获取本次响应信息,并判断本次响应信息和第一次响应信息是否相同,
若本次响应信息和第一次响应信息相同,则将请求登陆次数累加1,再次判断请求登陆次数是否大于预设的阈值;
若本次响应信息和第一次响应信息不相同,记本次响应信息为最后一次响应信息;
若请求登陆次数大于预设的阈值,记最后一次获取的响应信息为最后一次响应信息。
可选的,在所述分别获取第一次请求登陆和最后一次请求登陆对应的响应信息之前,还包括以下步骤:
判断第一次请求登陆和最后一次请求登陆对应的响应信息是否相同,
若第一次请求登陆和最后一次请求登陆对应的响应信息相同,输出第六提示信息,所述第六提示信息用于表达不存在账号锁定机制;
若第一次请求登陆和最后一次请求登陆对应的响应信息不同,
记最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若所述第三响应信息与所述账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
可选的,所述最后一次请求数据中还包括有账号锁定相关字段,所述将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据,包括:
获取最后一次请求数据中账号锁定相关字段数据;
对最后一次请求数据的账号锁定相关字段数据进行修改,形成账号锁定规避字段;
将账号锁定规避字段添加进最后一次请求数据中,以替换原先的账号锁定相关字段。
第二方面,本申请提供一种账号锁定绕过逻辑漏洞检测系统,包括:
获取模块,用于获取第一请求数据和第一响应信息,所述第一请求数据包括账号信息、请求地址,所述第一响应信息为成功登陆响应信息;
第一判断模块,用于根据所述第一请求数据请求登陆,并获取相应的第二响应信息,判断所述第二响应信息和所述第一响应信息是否相同,
若所述第二响应信息和所述第一响应信息不相同,输出第一提示信息,所述第一提示信息用于表达存在验证码验证;
检测模块,用于若所述第二响应信息和所述第一响应信息相同,将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息;
记所述最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
第二判断模块,用于根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若所述第三响应信息与所述账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
第三方面,本申请提供一种计算机可读存储介质,存储有能够被处理器加载并执行上述账号锁定绕过逻辑漏洞检测方法的计算机程序。
综上所述,本申请通过在进行账号锁定绕过漏洞检测时,首先可以检测出是否存在验证码验证,并可进一步检测是否存在验证码绕过漏洞,若存在验证码绕过漏洞,则给出相应的预警提示,可有针对性地加强系统的安全防护,使得该检测方法不仅能够适应于验证码防护场景,同时还避开了对被测代码强依赖的类IAST检测模式,转而以渗透测试的思想,从漏洞利用原理出发,直击对该类漏洞检测的本质,并且也不需要提前获知登陆次数阈值,提高了账号锁定绕过逻辑漏洞检测的普适性。
附图说明
图1是本申请实施例所提供的账号锁定绕过逻辑漏洞检测方法的流程图;
图2是本申请实施例所提供的按预设次数错误登陆获取第一次请求登陆和最后一次请求登陆对应的响应信息的示意图;
图3是本申请实施例所提供的验证码检测方法流程图;
图4是本申请实施例所提供的验证码检测方法具体示意图;
图5是本申请实施例所提供的账号锁定绕过逻辑漏洞检测系统的示意图。
具体实施方式
以下结合附图1-附图5,对本申请作进一步详细说明。
本申请提供一种基于账号锁定绕过逻辑漏洞检测方法,参见图1,包括以下步骤:
S100、获取第一请求数据和第一响应信息。
其中,第一请求数据为登陆成功待检测系统时所使用的请求数据,第一请求数据包括账号信息(账号和正确密码)、请求地址,第一响应信息用于表征成功登陆待检测系统的响应信息,除了第一响应信息所表征的成功登陆外,根据待检测系统的登陆结果还包括因验证码错误而登陆失败、因账号锁定而无法再次登陆、因登陆信息错误而登陆失败,每种登陆结果均对应不同的响应信息。
在本申请实施例中,第一请求数据和第一响应信息,是通过在服务器端Server通过插桩设置监听程序捕获登陆请求,并根据登陆程序运行时数据流以及反馈的登陆结果来获取的。
其中,监听程序为在服务器端Server通过插桩,对获取用户请求的关键函数进行hook的程序(hook即是插桩修改代码的字节码,在程序源码之外添加额外的执行逻辑,这些添加的逻辑包括但不限于,对方法的参数、返回值、当前对象等进行保存),当捕获到用户请求时,监听程序对请求进行区分,根据请求url关键字、账号字段名关键字、密码字段关键字三要素交叉匹配,来区分是普通请求还是登陆请求,当三要素齐全则将该请求的数据流从缓存中取出来作为用户登陆请求的数据。
S200、根据第一请求数据请求登陆,并获取相应的第二响应信息。
其中,第二响应信息是在获取到成功登录请求数据也就是第一请求数据之后,根据第一请求数据再次请求登陆获取到的响应信息。
S300、判断第二响应信息和第一响应信息是否相同,若第二响应信息和第一响应信息不相同,输出第一提示信息,第一提示信息用于表达存在验证码验证。
根据第一请求数据请求登陆,若能登录成功,由于第一响应信息是成功登陆的响应信息,则获取到的第二响应信息应与第一响应信息相同,若不能登录成功,则获取到的第二响应信息与第一响应信息不相同。
因此通过判断第二响应信息和第一响应信息是否相同,可以判断是否登录成功,若第二响应信息和第一响应信息不相同,说明登录失败,由于是根据成功登陆时所使用的请求数据再次请求登陆的,也就是账号和密码都是正确的,登陆失败,则可推断存在验证码验证,因此输出第一提示信息,用于表达存在验证码验证。
在本申请实施例中,根据第一请求数据请求登陆,并获取第二响应信息,具体包括:
根据第一请求数据请求登陆,通过预设的监听程序捕获登陆请求,并获取与登录请求数据相匹配的登录响应信息。
在本申请实施例中,根据第一请求数据请求登陆,服务器端预设的监听程序会捕获到登陆请求并获取相应的请求数据,同时服务器端根据请求数据完成登陆流程并反馈本次登陆的响应结果,也就是第二响应信息。同理,之后每一次响应信息都是通过这种方式获取,只是根据不同的请求数据,会获取到不同反馈的响应结果。
S400、若第二响应信息和第一响应信息相同,将第一请求数据中的账号信息进行置错以形成第二请求数据,根据第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息。
其中,若第二响应信息和第一响应信息相同,则说明第二响应信息也表征登录成功,即通过第一请求数据再次请求登陆并且登陆成功。
账号信息包括账号和正确密码,对账号信息进行置错可以是对账号进行修改也可以是将正确密码改为错误密码,以表征错误的登录信息。
将第一请求数据中的账号信息进行置错以形成第二请求数据,目的在于通过连续错误请求登陆试探是否存在账号锁定机制,当存在账号锁定机制时,当连续错误登陆次数达到阈值时,会进行账号锁定,并且当前最后一次请求登陆获取到的响应信息会呈现出账号已经锁定无法再次登录类似信息,会与前面几次错误登陆获取的响应信息有区别。因此将该响应信息记为账号锁定响应信息,以对后面进行账号锁定绕过漏洞的检测提供依据。
在本申请实施例中,根据第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息,参见图2,具体包括:
将请求登陆次数i记为1,根据第二请求数据请求登陆,并获取第一次响应信息;
将请求登陆次数i累加1,并判断请求登陆次数是否大于预设的阈值,
若请求登陆次数不大于预设的阈值,则再次请求登陆,获取本次响应信息,即第i次响应信息,并判断第i次响应信息和第一次响应信息是否相同,
若第i次响应信息和第一次响应信息相同,则将请求登陆次数累加1,再次判断请求登陆次数是否大于预设的阈值;
若第i次响应信息和第一次响应信息不相同,记第i次响应信息为最后一次响应信息;
若请求登陆次数大于预设的阈值,记第i次获取的响应信息为最后一次响应信息。
其中,预设的阈值为进入账号锁定的最大连续错误登陆次数,这里的最大指的是现有的账号锁定机制允许连续累计错误登陆次数的最大值,取最大值的目的在于可以涵盖大多数账号锁定场景,在不知道账号锁定阈值的情况也可以进行检测。
在本申请实施例中,预设的阈值为10,即连续错误登陆次数最高可达到10次才会进行账号锁定,也就是说与账号锁定关联的连续错误登陆次数在10以内的都在检测范围之内。
其中,请求登陆次数初始为1,表示进行第一次请求登陆,并获取第一次响应信息。
登陆次数累加一次,在登陆次数未超过预设阈值时,会再次请求登陆,并获取新的响应信息,根据新的响应信息和第一次响应信息来进行判断,若新的响应信息和第一次响应信息相同,说明还未达到账号锁定状态,则继续将登陆次数累加,并判断是否超过预设阈值。
若比较结果不相同,说明达到账号锁定状态,则将当前获取的最新响应信息记为最后一次响应信息,也就是账号锁定响应信息。
当请求次数超过预设的阈值时,说明连续错误登陆次数在预设的阈值之内均未能达到账号锁定状态,则将当前获取的最新响应信息记为最后一次响应信息,以作为进一步判断是否存在账号锁定机制的依据。
S500、记最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据。
其中,账号锁定响应信息为在通过按照错误密码连续请求登陆达到账号登陆次数阈值时,最后一次请求登陆获取的相应响应信息,为了进一步确认是否存在账号锁定绕过漏洞,因此采用账号锁定规避字段用来避开账号锁定校验,当存在账号锁定绕过漏洞时,通过这种账号锁定规避字段方式可以避开账号锁定校验过程,当不存在账号锁定绕过漏洞时,这种账号锁定规避字段方式无法避开账号锁定校验过程。
在本申请实施例中,将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据,包括如下步骤:
S510、获取最后一次请求数据中账号锁定相关字段数据。
其中,当存在账号锁定时,请求数据还应包括有账号锁定相关字段,具体包括有随机生成的X-Forword-For、cookie和reference字段。
S520、对最后一次请求数据的账号锁定相关字段数据进行修改,形成账号锁定规避字段。
在一个实施例中,账号锁定相关字段数据进行修改,包括修改X-Forword-For头和client-ip头、删除cookie字段和删除reference字段。
由于在登陆请求陆阶段,系统判断A用户是A用户而不是B用户的方式,包括:通过IP地址判断、通过访问登录页面时网站下发的临时cookie判断、通过reference头中的特殊字符来判断等。
对于第一种通过IP判断的,通过伪造IP就可以绕过。
对于第二、三种通过cookie和reference进行判断的,通过删掉cookie和reference头后,系统便无法确认当前用户身份,从而可以绕过。
因此,在本申请实施例中,通过修改X-Forword-For头,和 client-ip头可以伪造IP继续请求登陆,从而可以绕过绕过账号锁定。
删除cookie字段和删除reference字段可以清除累积登陆请求信息,在系统无法确认用户身份情况下,相当于以新用户的身份,实现再次请求登陆,从而可以绕过绕过账号锁定。
S530、将账号锁定规避字段添加进最后一次请求数据中,以替换原先的账号锁定相关字段。
其中,账号锁定规避字段为对原先账号锁定相关字段进行上述修改后的字段,将账号锁定规避字段替换掉原先的账号锁定相关字段,以形成第三请求数据,根据第三请求数据进一步判断是否存在账号锁定绕过漏洞。
S600、根据第三请求数据请求登陆,并获取相应的第三响应信息。
在本申请实施例中,第三请求数据是对最后一次请求数据进行账号锁定规避处理得到的请求数据,最后一次请求数据则是通过对密码置错按预设次数请求登陆的最后一次登陆的请求数据,由于账号锁定响应信息是根据最后一次请求数据请求登陆获取的响应信息,所以第三响应信息和账号锁定响应信息都是由最后一次请求数据直接或者间接得到。
S700、判断第三响应信息与账号锁定响应信息是否相同。
若第三响应信息与账号锁定响应信息相同,输出第二提示信息。
若第三响应信息与账号锁定响应信息不相同,输出第三提示信息。
其中,第二提示信息,用于表达不存在账号锁定绕过漏洞,三提示信息,用于表达存在账号锁定绕过漏洞。
由于第三响应信息和账号锁定响应信息都是由最后一次请求数据直接或者间接得到,区别点在于第三响应信息是对最后一次请求数据进行账号锁定规避处理后再次请求登陆获取的。
因此通过判断第三响应信息和账号锁定响应信息是否相同,可以知晓账号锁定规避字段处理是否奏效。
若第三响应信息与账号锁定响应信息相同,说明第三响应信息也表征账号已经锁定无法再次登录,也就说明账号锁定规避字段处理没能奏效,也就不存在账号锁定绕过漏洞,因此输出第二提示信息。
若第三响应信息与账号锁定响应信息不相同,说明第三响应信息表征密码错误登陆失败,也就是仍然可以再次进行登陆,说明账号锁定规避字段处理奏效,也就是存在账号锁定绕过漏洞,因此输出第三提示信息。
在本申请实施例中,在输出第一提示信息以表示存在验证码验证之后,还可对验证码验证进行检测,由于当前技术中也存在验证码绕过漏洞,为了确保当前系统的安全,还可进一步对验证码进行检测以判断是否存在验证码绕过漏洞,参见图3,对验证码验证进行检测具体包括如下步骤:
S810、将第一请求数据中验证码对应字段进行修改以形成第四请求数据。
在本申请实施例中,将第一请求数据中验证码对应字段进行修改,具体包括:将第一请求数据中验证码对应字段中参数对应的值置空或对验证码对应字段进行删除。
在本申请实施例中,对验证码对应字段进行修改目的在于检测验证码对应字段修改后的请求数据能否避开验证码校验,从而进行成功登陆。
对验证码对应字段进行修改以绕过验证码校验的方式包括将验证码对应字段中参数对应的值置空、将验证码对应字段删除(包括字段名与验证码在内的完整键值对)。因为对于验证码输入,若任意输入错误验证码,会出现验证码错误提示,但若将验证码对应字段中参数对应的值置空或删除验证码字段,对于存在验证码绕过漏洞的系统,则有可能可以避开验证码校验。
S820、根据第四请求数据请求登陆,并获取相应的第四响应信息。
S830、判断第四响应信息和第一响应信息是否相同,若不同,输出第四提示信息;若相同,输出第五提示信息。
其中,第四提示信息用于表达不存在验证码绕过漏洞,第五提示信息用于表达存在验证码绕过漏洞。
在本申请实施例中,由于第四请求数据相比第一请求数据,区别点仅在于验证码字段对应参数值的修改或删除了验证码字段,若通过第四请求数据请求登陆,能够登陆成功,则获取的第四响应信息应与第一响应信息相同,若不能登陆成功,说明将验证码对应字段中参数对应的值置空或删除验证码字段的方式不能避开验证码校验,则获取的第四响应信息表征验证码错误而登陆失败,所以与表征登陆成功的第一响应信息不相同。
因此,通过对第四响应信息和第一响应信息是否相同进行比较,可以判断是否避开了验证码校验而实现成功登陆,若第四响应信息和第一响应信息相同,则说明通过第四请求数据可以成功登陆,也就是将验证码对应字段中参数对应的值置空或者删除验证码字段的方式能避开验证码校验,即输出第五提示信息,用于表达存在验证码绕过漏洞,继而返回进行账号锁定的检测。
若第四响应信息和第一响应信息不相同,说明将验证码对应字段中参数对应的值置空或删除验证码字段的方式不能避开验证码校验,因此输出第四提示信息,用于表达不存在验证码绕过漏洞。
在本申请实施例中,为了实现对账号锁定绕过逻辑漏洞的检测,需要尽量避开验证码验证,因此会逐一尝试对验证码字段的修改。参见图4,具体的方法如下:先将第一请求数据中验证码对应字段中参数对应的值置空形成第四请求数据,根据第四请求数据请求登陆,获取相应的第四响应信息。比较第四响应信息和第一响应信息是否相同,若比较结果不相同,则将第四请求数据中验证码字段进行删除,以获取更新后的第四请求数据,再根据更新后的第四请求数据请求登陆,获取相应的第四响应信息,再继续同第一响应信息进行比较,若比较结果仍然不相同,则说明不存在账号锁定绕过漏洞,反正,若出现第四响应信息与第一响应信息相同,则说明存在验证码绕过漏洞。
在本申请实施例中,在分别获取第一次请求登陆和最后一次请求登陆对应的响应信息之前,还判断第一次请求登陆和最后一次请求登陆对应的响应信息是否相同,具体包括:
S910、若第一次请求登陆和最后一次请求登陆对应的响应信息相同,输出第六提示信息,第六提示信息用于表达不存在账号锁定机制。
其中,第一次请求登陆和最后一次请求登陆的对应的响应信息,是根据第二请求数据进行预设次数的请求登陆获取的对应响应信息。
第二请求数据是通过将第一请求数据中的账号信息进行置错形成,目的在于通过连续错误请求登陆试探是否存在账号锁定机制,当存在账号锁定机制时,当连续错误登陆次数达到阈值时,会进行账号锁定,在进入账号锁定前,第一次错误登陆获取的响应信息和抵达阈值时的最后一次错误登陆的响应信息会有所区别,即第一次错误登陆获取的响应信息包含有密码错误登陆失败类似信息,而抵达阈值时的最后一次错误登陆的响应信息还包含有账号已经锁定类似信息,因此通过这一点,来对是否存在账号锁定机制进行判断。
若第一次请求登陆和最后一次请求登陆对应的响应信息相同,说明没有账号锁定机制,即输出第六提示信息,用于表达不存在账号锁定机制。
S920、若第一次请求登陆和最后一次请求登陆对应的响应信息不同,
记最后一次请求登陆的响应信息为账号锁定响应信息,同步骤S500进行账号锁定绕过漏洞的检测。
若第一次请求登陆和最后一次请求登陆对应的响应信息不同,则说明最后一次请求登陆获取的对应响应信息表征了账号已经锁定而无法再次登陆,也就是存在账号锁定机制,因此记最后一次请求登陆的响应信息为账号锁定响应信息,继续对账号锁定绕过漏洞进行检测。
本申请实施例还提供了一种账号锁定绕过逻辑漏洞的检测系统,参见图5,该系统包括:获取模块101、第一判断模块102、检测模块103、第二判断模块104。
其中,获取模块101用于获取第一请求数据和第一响应信息。
第一判断模块102用于根据第一请求数据请求登陆,并获取相应的第二响应信息,判断第二响应信息和第一响应信息是否相同。
若第二响应信息和第一响应信息不相同,输出第一提示信息。
检测模块103用于若第二响应信息和第一响应信息相同,将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息。
记最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据。
第二判断模块104用于根据第三请求数据请求登陆,并获取相应的第三响应信息,判断第三响应信息与账号锁定响应信息是否相同。
若第三响应信息与账号锁定响应信息相同,输出第二提示信息。
若第三响应信息与账号锁定响应信息不相同,输出第三提示信息。
在本申请实施例中,获取模块101具体用于获取登陆成功时所使用的请求数据和成功登陆后系统反馈的响应信息。
在本申请实施例中,第一判断模块102具体用于根据第一请求数据请求登陆,并获取相应的第二响应信息,通过对获取到的第二响应信息和成功登陆时的第一响应信息进行比较,来判断是否登录成功。
若第二响应信息和第一响应信息相同,说明登录成功,若第二响应信息和第一响应信息不相同,说明登录失败,由于第一请求数据是成功登陆时所使用的请求数据,所以再次根据第一请求数据请求登陆,账户密码无误,若登录失败则推断存在验证码验证机制。因此输出第一提示信息,用于表达存在验证码验证。
在本申请实施例中,检测模块103用于对是否存在账号锁定机制进行检测,若存在账号锁定检测会继续对是否存在账号锁定绕过漏洞进行检测。
其中将第一请求数据中的账号信息进行置错以形成第二请求数据,目的在于通过连续错误请求登陆试探是否存在账号锁定机制,当存在账号锁定机制时,当连续错误登陆次数达到阈值时,会进行账号锁定,并且当前最后一次请求登陆获取到的响应信息会包括有账号已经锁定无法再次登录类似信息,会与前面几次错误登陆获取的响应信息有区别。因此将该响应信息记为账号锁定响应信息,以对后面进行账号锁定绕过漏洞的检测提供依据。
为了进一步确认是否存在账号锁定绕过漏洞,采用了账号锁定规避字段用来避开账号锁定校验,当存在账号锁定绕过漏洞时,通过这种账号锁定规避字段方式可以避开账号锁定校验过程,当不存在账号锁定绕过漏洞时,这种账号锁定规避字段方式无法避开账号锁定校验过程。
在本申请实施例中,第二判断模块104具体用于根据第三请求数据请求登陆,并获取相应的第三响应信息,通过对第三响应信息与账号锁定响应信息是否相同,来判断是否存在账号锁定绕过漏洞。
其中,第三请求数据是对最后一次请求数据进行账号锁定规避处理得到的请求数据,最后一次请求数据则是通过对密码置错按预设次数请求登陆的最后一次登陆的请求数据,账号锁定响应信息是根据最后一次请求数据请求登陆获取的响应信息。
由于第三响应信息和账号锁定响应信息都是由最后一次请求数据直接或者间接得到,区别点在于第三响应信息是对最后一次请求数据进行账号锁定规避处理后再次请求登陆获取的。
因此通过判断第三响应信息和账号锁定响应信息是否相同,可以知晓账号锁定规避字段处理是否奏效。
若第三响应信息与账号锁定响应信息相同,说明第三响应信息也表征账号锁定无法再次登陆,也就说明账号锁定规避字段处理没能奏效,也就不存在账号锁定绕过漏洞,因此输出第二提示信息,用于表达不存在账号锁定绕过漏洞。
若第三响应信息与账号锁定响应信息不相同,则第三响应信息表征密码错误而登陆失败,也就是仍然可以再次进行登陆,说明账号锁定规避字段处理奏效,也就是存在账号锁定绕过漏洞,因此输出第三提示信息,用于表达存在账号锁定绕过漏洞。
本申请实施例还提供一种计算机可读存储介质,存储有能够被处理器加载并执行上述一种账号锁定绕过逻辑漏洞检测方法的计算机程序。
本具体实施方式的实施例均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的原理所做的等效变化,均应涵盖于本申请的保护范围之内。
Claims (10)
1.一种账号锁定绕过逻辑漏洞检测方法,其特征在于,包括以下步骤:
获取第一请求数据和第一响应信息,所述第一请求数据包括账号信息、请求地址,所述第一响应信息为成功登陆响应信息;
根据所述第一请求数据请求登陆,并获取相应的第二响应信息,判断所述第二响应信息和所述第一响应信息是否相同,
若所述第二响应信息和所述第一响应信息不相同,输出第一提示信息,所述第一提示信息用于表达存在验证码验证;
若所述第二响应信息和所述第一响应信息相同,将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息;
记所述最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若第三响应信息与账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
2.根据权利要求1所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,所述根据所述第一请求数据请求登陆,并获取第二响应信息,包括:
根据所述第一请求数据请求登陆,通过预设的监听程序捕获登陆请求,并获取与登录请求数据相匹配的登录响应信息。
3.根据权利要求1所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,所述第一请求数据中还包括验证码对应字段;在所述输出第一提示信息之后,还包括以下步骤:
将所述第一请求数据中验证码对应字段进行修改以形成第四请求数据;
根据所述第四请求数据请求登陆,并获取相应的第四响应信息;
判断所述第四响应信息和所述第一响应信息是否相同,
若所述第四响应信息和所述第一响应信息不同,输出第四提示信息,所述第四提示信息用于表达不存在验证码绕过漏洞;
若所述第四响应信息和所述第一响应信息相同,输出第五提示信息,所述第五提示信息用于表达存在验证码绕过漏洞。
4.根据权利要求3所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,所述将所述第一请求数据中验证码对应字段进行修改,包括:
将第一请求数据中验证码对应字段中参数对应的值置空或对验证码对应字段进行删除。
5.根据权利要求3所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,在所述输出存在验证码绕过漏洞提示之后,
将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息。
6.根据权利要求1所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,所述根据第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息,包括:
将请求登陆次数记为1,根据第二请求数据请求登陆,并获取第一次响应信息;
将请求登陆次数累加1,并判断请求登陆次数是否大于预设的阈值,
若请求登陆次数不大于预设的阈值,则再次请求登陆,获取本次响应信息,并判断本次响应信息和第一次响应信息是否相同,
若本次响应信息和第一次响应信息相同,则将请求登陆次数累加1,再次判断请求登陆次数是否大于预设的阈值;
若本次响应信息和第一次响应信息不相同,记本次响应信息为最后一次响应信息;
若请求登陆次数大于预设的阈值,记最后一次获取的响应信息为最后一次响应信息。
7.根据权利要求1所述的一种账号锁定绕过逻辑漏洞检测方法,
其特征在于,在所述分别获取第一次请求登陆和最后一次请求登陆对应的响应信息之前,还包括以下步骤:
判断第一次请求登陆和最后一次请求登陆对应的响应信息是否相同,
若第一次请求登陆和最后一次请求登陆对应的响应信息相同,输出第六提示信息,所述第六提示信息用于表达不存在账号锁定机制;
若第一次请求登陆和最后一次请求登陆对应的响应信息不同,
记最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若所述第三响应信息与所述账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
8.根据权利要求1所述的一种账号锁定绕过逻辑漏洞检测方法,其特征在于,所述最后一次请求数据中还包括有账号锁定相关字段,所述将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据,包括:
获取最后一次请求数据中账号锁定相关字段数据;
对最后一次请求数据的账号锁定相关字段数据进行修改,形成账号锁定规避字段;
将账号锁定规避字段添加进最后一次请求数据中,以替换原先的账号锁定相关字段。
9.一种账号锁定绕过逻辑漏洞检测系统,包括:
获取模块,用于获取第一请求数据和第一响应信息,所述第一请求数据包括账号信息、请求地址,所述第一响应信息为成功登陆响应信息;
第一判断模块,用于根据所述第一请求数据请求登陆,并获取相应的第二响应信息,判断所述第二响应信息和所述第一响应信息是否相同,
若所述第二响应信息和所述第一响应信息不相同,输出第一提示信息,所述第一提示信息用于表达存在验证码验证;
检测模块,用于若所述第二响应信息和所述第一响应信息相同,将所述第一请求数据中的账号信息进行置错以形成第二请求数据,根据所述第二请求数据,依次进行预设次数的请求登陆,并分别获取第一次请求登陆和最后一次请求登陆对应的响应信息;
记所述最后一次请求登陆的响应信息为账号锁定响应信息,并将账号锁定规避字段添加进最后一次请求数据中以形成第三请求数据;
第二判断模块,用于根据所述第三请求数据请求登陆,并获取相应的第三响应信息,判断所述第三响应信息与所述账号锁定响应信息是否相同,
若所述第三响应信息与所述账号锁定响应信息相同,输出第二提示信息,所述第二提示信息用于表达不存在账号锁定绕过漏洞;
若所述第三响应信息与所述账号锁定响应信息不相同,输出第三提示信息,所述第三提示信息用于表达存在账号锁定绕过漏洞。
10.一种可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至8任一项所述的账号锁定绕过逻辑漏洞检测方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902037.8A CN114969766B (zh) | 2022-07-29 | 2022-07-29 | 账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210902037.8A CN114969766B (zh) | 2022-07-29 | 2022-07-29 | 账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114969766A CN114969766A (zh) | 2022-08-30 |
CN114969766B true CN114969766B (zh) | 2022-10-21 |
Family
ID=82968622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210902037.8A Active CN114969766B (zh) | 2022-07-29 | 2022-07-29 | 账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969766B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115828256B (zh) * | 2022-11-04 | 2023-08-29 | 杭州孝道科技有限公司 | 一种越权与未授权逻辑漏洞检测方法 |
CN115758374B (zh) * | 2022-11-04 | 2023-08-04 | 杭州孝道科技有限公司 | 一种账号枚举漏洞检测方法、系统及存储介质 |
CN115623485B (zh) * | 2022-12-20 | 2023-04-07 | 杭州孝道科技有限公司 | 一种短信轰炸检测方法、系统、服务器及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912663B1 (en) * | 1999-12-06 | 2005-06-28 | International Business Machines Corporation | Method and system for securing a personal computer bus |
CN105376074A (zh) * | 2015-12-14 | 2016-03-02 | 周海斌 | 一种局域网内客户端计算机的启动、计时控制方法及系统 |
CN105703925A (zh) * | 2014-11-25 | 2016-06-22 | 上海天脉聚源文化传媒有限公司 | 一种Linux系统安全加固方法及系统 |
CN106778225A (zh) * | 2017-01-24 | 2017-05-31 | 北京小米移动软件有限公司 | 处理密码的方法和装置 |
CN107864118A (zh) * | 2017-08-14 | 2018-03-30 | 上海壹账通金融科技有限公司 | 登录验证方法、系统及计算机可读存储介质 |
CN108256334A (zh) * | 2018-01-26 | 2018-07-06 | 平安科技(深圳)有限公司 | 漏洞测试方法、装置、计算机设备和存储介质 |
-
2022
- 2022-07-29 CN CN202210902037.8A patent/CN114969766B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912663B1 (en) * | 1999-12-06 | 2005-06-28 | International Business Machines Corporation | Method and system for securing a personal computer bus |
CN105703925A (zh) * | 2014-11-25 | 2016-06-22 | 上海天脉聚源文化传媒有限公司 | 一种Linux系统安全加固方法及系统 |
CN105376074A (zh) * | 2015-12-14 | 2016-03-02 | 周海斌 | 一种局域网内客户端计算机的启动、计时控制方法及系统 |
CN106778225A (zh) * | 2017-01-24 | 2017-05-31 | 北京小米移动软件有限公司 | 处理密码的方法和装置 |
CN107864118A (zh) * | 2017-08-14 | 2018-03-30 | 上海壹账通金融科技有限公司 | 登录验证方法、系统及计算机可读存储介质 |
CN108256334A (zh) * | 2018-01-26 | 2018-07-06 | 平安科技(深圳)有限公司 | 漏洞测试方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
新能源电站网络信息安全风险分析及防护研究;董雪等;《网络空间安全》;20200225(第02期);第63-69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114969766A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114969766B (zh) | 账号锁定绕过逻辑漏洞检测方法、系统以及存储介质 | |
CN112929326B (zh) | 恶意域名访问的检测方法、装置及计算机可读存储介质 | |
CN105939326B (zh) | 处理报文的方法及装置 | |
KR102210627B1 (ko) | 악성 프로세스 행동을 검출하기 위한 방법, 장치 및 시스템 | |
CN105471912B (zh) | 监控网络的安全防御方法和系统 | |
CN110830470B (zh) | 一种失陷主机检测方法、装置、设备及可读存储介质 | |
CN105763521A (zh) | 一种设备验证方法及装置 | |
CN107040518B (zh) | 一种私有云服务器登录方法及系统 | |
CN107911355B (zh) | 一种基于攻击链的网站后门利用事件识别方法 | |
CN106982188B (zh) | 恶意传播源的检测方法及装置 | |
CN110912855A (zh) | 一种基于渗透性测试用例集的区块链架构安全评估方法及系统 | |
CN112653714A (zh) | 一种访问控制方法、装置、设备及可读存储介质 | |
CN114329489A (zh) | Web应用程序漏洞攻击检测方法、服务器、电子设备及存储介质 | |
US11916953B2 (en) | Method and mechanism for detection of pass-the-hash attacks | |
CN106790189B (zh) | 一种基于响应报文的入侵检测方法和装置 | |
CN111800405A (zh) | 检测方法及检测设备、存储介质 | |
CN110909350B (zh) | 一种远程精准识别WebShell后门的方法 | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
CN108322420B (zh) | 后门文件的检测方法和装置 | |
CN108040036A (zh) | 一种行业云Webshell安全防护方法 | |
CN112422527A (zh) | 变电站电力监控系统的安全防护系统、方法和装置 | |
CN108234491B (zh) | 协议关联验证方法、装置及电子设备 | |
CN108768954B (zh) | 一种dga恶意软件识别方法 | |
AU2012260619A1 (en) | Supervised data transfer | |
CN113194088B (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 |