程序访问时绕过验证码的检测方法、系统及可读存储介质与流程
未命名
07-29
阅读:127
评论:0
1.本发明涉及信息安全检测技术领域,特别涉及一种程序访问时绕过验证码的检测方法、系统及可读存储介质。
背景技术:
2.在网络安全下的信息世界,在进行程序访问时,为了提高信息安全,各个程序都会存在验证码验证的操作。在程序在处理请求传递响应的过程中,可能出现页面设置了验证码但后端并未验证、前端校验了验证码但后端并未验证、以及验证码空值绕过后端校验等情况。
3.然而,这类验证码未被后端验证的情况可能导致攻击者恶输入验证码信息跳过验证,进而获取到相关敏感信息,从而导致个人隐私数据泄露,影响网络信息安全。
技术实现要素:
4.为了解决上述技术问题的不足之处,本发明提供了一种程序访问时绕过验证码的检测方法、系统及可读存储介质,以检测各个程序在访问时是否存在验证码未被后端验证的漏洞并进行上报预警,进而保护用户的个人隐私数据,提高网络信息安全。
5.为解决上述问题,本发明实施例提供了一种程序访问时绕过验证码的检测方法,所述方法包括:
6.获取用户操作的原始请求信息和原始响应结果信息;
7.根据预设请求信息判断所述原始请求信息是否包含验证码请求;
8.若所述原始请求信息包含验证码请求,确定所述验证码请求的请求体中的验证码变量值;
9.篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;
10.获取新请求信息对应的重发响应结果信息;
11.基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验;
12.若是,构建风险漏洞信息并上报。
13.可选地,所述篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发的方式具体为:
14.分析所述验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。
15.可选地,所述基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验,包括:
16.判断所述重发响应结果信息与所述原始响应结果信息是否行为一致;
17.若一致,确定程序绕过验证码校验;
18.若不一致,确定程序未绕过验证码校验。
19.可选地,在所述根据预设请求信息判断所述原始请求信息是否包含验证码请求之前,所述方法还包括:
20.创建请求url信息和验证码变量;其中,所述请求url信息用于拦截用户操作的原始请求信息;
21.下载探针,所述探针用于监听程序操作过程中的流量。
22.可选地,所述获取用户操作的原始请求信息和原始响应结果信息的方式具体为:
23.基于所述探针,利用所述请求url信息拦截用户操作的原始请求信息,所述原始请求信息至少包括请求体和原始响应结果信息。
24.为了解决上述问题,本发明实施例还提供一种程序访问时绕过验证码的检测系统,所述系统包括:
25.第一获取单元,用于获取用户操作的原始请求信息和原始响应结果信息;
26.第一判断单元,用于根据预设请求信息判断所述原始请求信息是否包含验证码请求;
27.确定单元,用于当第一判断单元判断出所述原始请求信息包含验证码请求时,确定所述验证码请求的请求体中的验证码变量值;
28.模拟单元,用于篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;
29.第二获取单元,用于获取新请求信息对应的重发响应结果信息;
30.第二判断单元,用于基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验;
31.上报单元,用于当所述第二判断单元判断出程序绕过验证码校验时,构建风险漏洞信息并上报。
32.可选地,所述模拟单元具体用于分析所述验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。
33.可选地,所述第二判断单元包括:
34.判断子单元,用于判断所述重发响应结果信息与所述原始响应结果信息是否行为一致;
35.第一确定子单元,用于当所述判断子单元判断出所述重发响应结果信息与所述原始响应结果信息行为一致时,确定程序绕过验证码校验;
36.第二确定子单元,用于当所述判断子单元判断出所述重发响应结果信息与所述原始响应结果信息行为不一致时,确定程序未绕过验证码校验。
37.为了解决上述问题,本发明实施例还提供一种程序访问时绕过验证码的检测系统,所述系统包括:
38.至少一个处理器;
39.存储器;
40.以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上述所述的程序访问时绕过验
证码的检测方法的指令。
41.为了解决上述问题,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序可被处理器执行以完成如上述所述的程序访问时绕过验证码的检测方法。
42.本发明的实施例提供的技术方案可以包括以下有益效果:
43.本发明实施例中,通过获取用户操作的原始请求信息和原始响应结果信息,接着根据预设请求信息判断原始请求信息是否包含验证码请求,当原始请求信息包含验证码请求时,确定对应的验证码变量值,然后篡改该验证码变量值,模拟出新请求信息,将模拟的新请求信息进行请求重发并获取对应的重发响应结果信息,然后根据重发响应结果信息和原始响应结果信息判断程序是否绕过了验证码校验,如果程序绕过了验证码校验,则构建风险漏洞信息并进行上报。通过上述方法,在获取程序包含验证码的成功请求流量之后,结合验证码请求分析相关验证码变量,并对验证码变量进行篡改操作后进行请求重发,能够检测出程序自身是否未进行验证码等敏感参数验证的风险漏洞,可以帮助程序规范校验流程。解决了现有技术中后端未针对验证码进行校验可能促进攻击者恶意输入验证码信息跳过验证,进而获取到相关敏感信息的问题,能够保护用户的个人隐私数据,提高网络信息安全。
44.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
45.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
46.图1为本发明实施例提供的一种程序访问时绕过验证码的检测方法的流程示意图。
47.图2为本发明实施例提供的判断程序是否绕过验证码校验的流程示意图。
48.图3为本发明实施例提供的设置预设请求信息的流程示意图。
49.图4是本发明实施例提供的一种程序访问时绕过验证码的检测系统的功能模块图。
50.图5是本发明实施例提供的第二判断单元的功能模块图。
51.图6是本发明实施例提供的另一种程序访问时绕过验证码的检测系统的功能模块图。
52.图7是本发明实施例提供的预设值单元的功能模块图。
53.图8是本发明实施例提供的又一种程序访问时绕过验证码的检测系统的功能模块图。
具体实施方式
54.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
55.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
56.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
57.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
58.另外,在本技术说明书和所附权利要求书的描述中,术语“第一”和“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
59.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
60.本发明实施例提供一种程序访问时绕过验证码的检测方法,该程序访问时绕过验证码的检测方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,该程序访问时绕过验证码的检测方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
61.请参阅图1所示,图1为本发明实施例提供的一种程序访问时绕过验证码的检测方法的流程示意图。如图1所示,该程序访问时绕过验证码的检测方法包括:
62.s101、获取用户操作的原始请求信息和原始响应结果信息。
63.s102、根据预设请求信息判断原始请求信息是否包含验证码请求;若是,执行步骤s103-s106;反之,结束本流程。
64.s103、确定验证码请求的请求体中的验证码变量值。
65.本发明实施例中,程序访问时绕过验证码的检测系统获取用户操作的原始请求信息。其中,用户操作的原始请求信息可以为登陆请求,也可以为验证请求,还可以为其它请求,本发明实施例不作具体限定。为方便理解,本发明实施例以包含了验证码请求的登陆请求为例进行描述,不应对此构成限定。
66.具体地,原始请求信息包括请求头、请求体和原始响应结果信息。其中,请求体中包括各种变量值,如验证码变量值。
67.具体地,验证码变量值为具预设长度的字符串,预设长度可以根据实际需要进行设置。
68.在一些实施例中,程序访问时绕过验证码的检测系统通过探针获取用户操作的原始请求信息。本发明实施例中,探针用于监听程序操作过程中的流量,即侦听网络数据包并对数据包进行捕获、过滤和分析。
69.本发明实施例中,预设请求信息为预先设置好的请求url信息和请求体中的验证码变量,其中,请求url信息用于拦截用户操作的原始请求信息。示例如下:
70.预先设置的请求url信息:/userlogin.do
71.预先设置的验证码变量:verification,则验证码变量值为对应的verification的值。
72.具体地,程序访问时绕过验证码的检测系统获取用户操作的原始请求信息的方式具体为:基于探针,利用请求url信息拦截用户操作的原始请求信息。
73.举例来说,用户的登陆请求可能为http://xxxxxx/userlogin.do,预先设置的请求url信息为/userlogin.do,程序访问时绕过验证码的检测系统基于探针的作用,利用/userlogin.do拦截到http://xxxxxx/userlogin.do的用户操作的原始请求信息。接着,再根据验证码变量verification确定登陆请求信息是否包含验证码请求,若包含了验证码请求,则确定该验证码请求的请求体中的验证码变量值。如verification=asd。
74.s104、篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。
75.本发明实施例中,当确定了请求体中的验证码变量值后,程序访问时绕过验证码的检测系统将篡改该验证码变量值,然后模拟出新请求信息,并将新请求信息进行请求重发。
76.具体地,步骤s104篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发的方式具体为:分析验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。
77.其中,随机值为根据验证码变量值的数据结构随机构建出的用于覆盖全部数据结构或替换部分数据结构的值。本发明实施例对该随机值不做限定,只要满足该随机值跟原来要篡改的验证码变量值不相同即可。
78.需要说明的是,覆盖指的是将验证码变量值的全部数据结构进行更改,替换指的是将验证码变量值的部分数据结构进行更改。具体地,更改方式可以为调整字符的顺序或修改某个或某段字符,也可以为删除某个或某段字符,还可以为增加新的字符。本发明实施例对此不做具体限定,只要满足更改完之后的数据结构与更改之前的数据结构不相同即可。
79.举例来说,用户操作的登陆请求具体为http://xxxxxx/userlogin.do,其请求体包括验证码变量值verification=asd,程序访问时绕过验证码的检测系统可以直接删除该验证码变量及验证码变量值,或者,构建对应的随机值并将该敏感变量值进行覆盖操作,如verification=zxc,又或者,构建对应的随机值并将该敏感变量值进行替换操作,如verification=aed。进而模拟得到新请求信息,随后将该新请求信息进行请求重发。
80.s105、获取新请求信息对应的重发响应结果信息。
81.s106、基于重发响应结果信息和原始响应结果信息判断程序是否绕过验证码校验;如果是,执行步骤s107;反之,结束本流程。
82.s107、构建风险漏洞信息并上报。
83.本发明实施例中,验证码请求的响应结果信息包括验证成功或验证失败。同理,原始请求信息为包含了验证码请求的登陆请求时,响应结果信息包括登陆失败或登陆成功。
当重发响应结果信息和原始响应结果信息行为一致时,即篡改了验证码变量值后重发请求仍然可以登陆成功,表明程序绕过了验证码校验,程序访问时绕过验证码的检测系统构建风险漏洞信息并上报。
84.具体地,本发明实施例中,请参阅图2所示,图2为本发明实施例提供的判断程序是否绕过验证码校验的流程示意图。在步骤s106中,基于重发响应结果信息和原始响应结果信息判断程序是否绕过验证码校验,包括:
85.s1061、判断重发响应结果信息与原始响应结果信息是否行为一致;如果是,执行步骤s1062;反之,执行步骤s1063。
86.s1062、确定程序绕过验证码校验。
87.s1063、确定程序未绕过验证码校验。
88.本发明实施例中,行为一致指内容和响应状态都相同。如重发响应结果信息和原始响应结果信息均为“登陆成功”。
89.可以理解,现在技术的验证码请求中存在以下问题:
90.1.忽略后端验证码校验检测,基于请求参数包含相关验证码信息便自认为后端包含相关验证逻辑。
91.2.基于账号、密码等注册登陆请求操作容易忽略验证码实际校验逻辑是否执行。
92.3.程序中用户输入随机验证码信息只做单次校验未实时刷新,导致验证码重复使用。
93.4.程序中获取敏感信息内容时,请求体中部分敏感验证信息在验证时被忽略。
94.本发明实施例通过实施步骤s101-s107的程序访问时绕过验证码的检测方法,具有以下特性:
95.1.全面性:能够针对注册、登陆时等包含验证码请求的敏感操作进行验证码重置、覆盖、删除等操作检测前端、后端是否包含完整验证码校验。
96.2.简易性:能够结合包含验证码的原始请求信息和验证码变量值检测对应风险漏洞。
97.3.可扩展性:能够结合程序自身除验证码变量值以外可设置其他特殊敏感变量参数,判断请求是否针对参数进行验证处理操作,更高效的检测请求内容判断风险、规避风险。
98.为方便理解,本发明实施例以原始请求信息为包含验证码请求的登陆请求、验证码变量值篡改手段为删除、程序成功绕过验证码校验为例进行描述,不应对对此构成限定。举例来说,原始请求信息如下所示:
99.referer:http://10.0.1.141:8080/spring-demo/userlogin.do
100.accept-language:zh-cnzh;q=0.9
101.cookie:jsessionid=7ad36019363f646e93dcd867f1a79c45
102.origin:http://10.0.1.141:8080
103.pragma:no-cache
104.accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng."/":q=0.8,application/signed-exchange;v=b3;q=0.9
105.host:10.0.1.141:8080
106.upgrade-insecure-requests:1
107.content-type:application/x-www-form-urlencoded
108.connection:close
109.cache-control:no-cache
110.accept-encoding:gzip,deflate
111.user-agent:mozilla/5.0(windows nt 10.0;win64;64)applewebkit/537.36(khtml,like gecko)chrome/106.0.0.0safari/537.36edg/106.0.1370.42
112.username=admin&password=123&verification=asd
113.执行该原始请求信息得到的原始响应结果信息为:
114."msg":"登陆成功!","success":"true"
115.程序访问时绕过验证码的检测系统预先设置的预设请求信息为:
116.请求url信息:/userlogin.do
117.验证码变量:verification
118.检测系统基于探针,利用基于探针,利用请求url信息对上述原始请求信息进行拦截并识别到该原始请求信息包含验证码请求,且验证码变量值为verification=asd。
119.接着对该验证码变量值进行直接删除,模拟得到新请求信息如下所示:
120.referer:http://10.0.1.141:8080/spring-demo/userlogin.do
121.accept-language:zh-cnzh;q=0.9
122.cookie:jsessionid=7ad36019363f646e93dcd867f1a79c45
123.origin:http://10.0.1.141:8080
124.pragma:no-cache
125.accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng."/":q=0.8,application/signed-exchange;v=b3;q=0.9
126.host:10.0.1.141:8080
127.upgrade-insecure-requests:1
128.content-type:application/x-www-form-urlencoded
129.connection:close
130.cache-control:no-cache
131.accept-encoding:gzip,deflate
132.user-agent:mozilla/5.0(windows nt 10.0;win64;64)applewebkit/537.36(khtml,like gecko)chrome/106.0.0.0safari/537.36edg/106.0.1370.42
133.username=admin&password=123
134.执行该新请求信息得到的重发响应结果信息为:
135."msg":"登陆成功!","success":"true"
136.因此,重发响应结果信息和原始响应结果信息行为一致,即篡改了验证码变量值后重发请求仍然可以登陆成功,表明程序绕过了验证码校验,检测系统构建风险漏洞信息并上报。
137.进一步地,本发明实施例中,请参阅图3所示,图3为本发明实施例提供的设置预设请求信息的流程示意图。在步骤s102根根据预设请求信息判断原始请求信息是否包含验证
码请求之前,该程序访问时绕过验证码的检测方法还包括:
138.s1021、创建请求url信息和请求体中的验证码变量;其中,请求url信息用于拦截用户操作的原始请求信息;
139.s1022、下载探针,其中,探针用于监听程序操作过程中的流量;
140.s1023、启动被测应用程序。
141.综上,本发明实施例中,通过获取用户操作的原始请求信息和原始响应结果信息,接着根据预设请求信息判断原始请求信息是否包含验证码请求,当原始请求信息包含验证码请求时,确定对应的验证码变量值,然后出篡改该验证码变量值,模拟出新请求信息,将模拟的新请求信息进行请求重发并获取对应的重发响应结果信息,然后根据重发响应结果信息和原始响应结果信息判断程序是否绕过了验证码校验,如果程序绕过了验证码校验,则构建风险漏洞信息并进行上报。通过上述方法,在获取程序包含验证码的成功请求流量之后,结合验证码请求分析相关验证码变量,并对验证码变量进行篡改操作后进行请求重发,能够检测出程序自身是否未进行验证码等敏感参数验证的风险漏洞,可以帮助程序规范校验流程。解决了现有技术中后端未针对验证码进行校验可能促进攻击者恶意输入验证码信息跳过验证,进而获取到相关敏感信息的问题,能够保护用户的个人隐私数据,提高网络信息安全。
142.本发明还公开了一种程序访问时绕过验证码的检测系统100,如图4所示,图4是本发明实施例提供的一种程序访问时绕过验证码的检测系统的功能模块图。该程序访问时绕过验证码的检测系统100可以包括第一获取单元101、第一判断单元102、确定单元103、模拟单元104、第二获取单元105、第二判断单元106和上报单元107。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
143.在本发明实施例中,关于各模块/单元的功能如下:
144.第一获取单元101,用于获取用户操作的原始请求信息和原始响应结果信息;
145.第一判断单元102,用于根据预设请求信息判断原始请求信息是否包含验证码请求;
146.确定单元103,用于当第一判断单元102判断出原始请求信息包含验证码请求时,确定验证码请求的请求体中的验证码变量值;
147.模拟单元104,用于篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;
148.第二获取单元105,用于获取新请求信息对应的重发响应结果信息;
149.第二判断单元106,用于基于重发响应结果信息和原始响应结果信息判断程序是否绕过验证码校验;
150.上报单元107,用于当第二判断单元判断出程序绕过验证码校验时,构建风险漏洞信息并上报。
151.具体地,模拟单元104篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发的方式具体为:
152.模拟单元104,具体用于分析验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重
发。
153.具体地,请参阅图5,图5是本发明实施例提供的第二判断单元的功能模块图。如图5所示,第二判断单元106包括:
154.判断子单元1061,用于判断重发响应结果信息与原始响应结果信息是否行为一致;
155.第一确定子单元1062,用于当判断子单元1061判断出重发响应结果信息与原始响应结果信息行为一致时,确定程序绕过验证码校验;
156.第二确定子单元1063,用于当判断子单元1061判断出重发响应结果信息与原始响应结果信息行为不一致时,确定程序未绕过验证码校验。
157.进一步地,如图6所示,图6是本发明实施例提供的另一种程序访问时绕过验证码的检测系统的功能模块图。如图6所示,程序访问时绕过验证码的检测系统100还可以包括预设置单元108,该预设置单元108用于在第一判断单元102根据预设请求信息判断原始请求信息是否包含验证码请求之前,进行预设请求信息的设置和保存。
158.本发明实施例中,预设请求信息为预先设置好的请求url信息和请求体中的验证码变量,其中,请求url信息用于拦截用户操作的原始请求信息。
159.具体地,请参阅图7,图7是本发明实施例提供的预设置单元的功能模块图。如图7所示,预设置单元108包括:
160.创建单元1081,用于在第一判断单元102根据预设请求信息判断原始请求信息是否包含验证码请求之前,创建请求url信息和请求中的验证码变量;
161.下载单元1082,用于下载探针。
162.本发明实施例中,探针用于监听程序操作过程中的流量。通过预设置单元108对预设请求信息进行预设置和保存之后,启动被测应用程序,即可对程序访问时绕过验证码风险漏洞进行检测。
163.详细地,本发明实施例中所述程序访问时绕过验证码的检测系统100中所述的各模块在使用时采用与上述图1-图3中所述的程序访问时绕过验证码的检测方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
164.本发明还公开了一种程序访问时绕过验证码的检测系统1,请参阅图8,图8是本发明实施例提供的又一种程序访问时绕过验证码的检测系统的结构示意图。
165.所述程序访问时绕过验证码的检测系统1包括至少一个处理器10;
166.存储器11;
167.以及一个或多个程序,其中一个或多个程序被存储在所述存储器11中,并且被配置成由所述一个或多个处理器10执行,所述程序包括用于执行如程序访问时绕过验证码的检测方法的指令。
168.其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(controlunit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行程序访问时绕过验证码的检测程序等),以及
调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
169.图8仅示出了具有部件的程序访问时绕过验证码的检测系统,本领域技术人员可以理解的是,图8示出的结构并不构成对所述程序访问时绕过验证码的检测系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
170.所述程序访问时绕过验证码的检测系统1中的所述存储器11存储的程序访问时绕过验证码的检测程序是多个指令的组合,在所述处理器10中运行时,可以实现:
171.获取用户操作的原始请求信息和原始响应结果信息;
172.根据预设请求信息判断所述原始请求信息是否包含验证码请求;
173.若所述原始请求信息包含验证码请求,确定所述验证码请求的请求体中的验证码变量值;
174.篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;
175.获取新请求信息对应的重发响应结果信息;
176.基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验;
177.若是,构建风险漏洞信息并上报。
178.具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
179.进一步地,所述程序访问时绕过验证码的检测系统1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
180.本发明还提供一种计算机可读存储介质,包括计算机程序,所述计算机程序可被处理器10执行以完成如程序访问时绕过验证码的检测方法。
181.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
182.因此,应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
183.应当理解的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种程序访问时绕过验证码的检测方法,其特征在于,所述方法包括:获取用户操作的原始请求信息和原始响应结果信息;根据预设请求信息判断所述原始请求信息是否包含验证码请求;若所述原始请求信息包含验证码请求,确定所述验证码请求的请求体中的验证码变量值;篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;获取新请求信息对应的重发响应结果信息;基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验;若是,构建风险漏洞信息并上报。2.根据权利要求1所述的程序访问时绕过验证码的检测方法,其特征在于,所述篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发的方式具体为:分析所述验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。3.根据权利要求1所述的程序访问时绕过验证码的检测方法,其特征在于,所述基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验,包括:判断所述重发响应结果信息与所述原始响应结果信息是否行为一致;若一致,确定程序绕过验证码校验;若不一致,确定程序未绕过验证码校验。4.根据权利要求1所述的程序访问时绕过验证码的检测方法,其特征在于,在所述根据预设请求信息判断所述原始请求信息是否包含验证码请求之前,所述方法还包括:创建请求url信息和验证码变量;其中,所述请求url信息用于拦截用户操作的原始请求信息;下载探针,所述探针用于监听程序操作过程中的流量。5.根据权利要求4所述的程序访问时绕过验证码的检测方法,其特征在于,所述获取用户操作的原始请求信息和原始响应结果信息的方式具体为:基于所述探针,利用所述请求url信息拦截用户操作的原始请求信息,所述原始请求信息至少包括请求体和原始响应结果信息。6.一种程序访问时绕过验证码的检测系统,其特征在于,所述系统包括:第一获取单元,用于获取用户操作的原始请求信息和原始响应结果信息;第一判断单元,用于根据预设请求信息判断所述原始请求信息是否包含验证码请求;确定单元,用于当第一判断单元判断出所述原始请求信息包含验证码请求时,确定所述验证码请求的请求体中的验证码变量值;模拟单元,用于篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发;第二获取单元,用于获取新请求信息对应的重发响应结果信息;第二判断单元,用于基于所述重发响应结果信息和所述原始响应结果信息判断程序是否绕过验证码校验;上报单元,用于当所述第二判断单元判断出程序绕过验证码校验时,构建风险漏洞信息并上报。
7.根据权利要求6所述的程序访问时绕过验证码的检测系统,其特征在于:所述模拟单元具体用于分析所述验证码变量值的数据结构,以删除、随机值覆盖或随机值替换的形式篡改所述验证码变量值以模拟新请求信息,并将模拟的新请求信息进行请求重发。8.根据权利要求6所述的程序访问时绕过验证码的检测系统,其特征在于,所述第二判断单元包括:判断子单元,用于判断所述重发响应结果信息与所述原始响应结果信息是否行为一致;第一确定子单元,用于当所述判断子单元判断出所述重发响应结果信息与所述原始响应结果信息行为一致时,确定程序绕过验证码校验;第二确定子单元,用于当所述判断子单元判断出所述重发响应结果信息与所述原始响应结果信息行为不一致时,确定程序未绕过验证码校验。9.一种程序访问时绕过验证码的检测系统,其特征在于,所述系统包括:至少一个处理器;存储器;以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1至5任一项所述的程序访问时绕过验证码的检测方法的指令。10.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至5中任意一项所述的程序访问时绕过验证码的检测方法。
技术总结
本发明涉及信息安全检测技术领域,揭示了一种程序访问时绕过验证码的检测方法、系统及可读存储介质。通过获取用户操作的原始请求信息和原始响应结果信息,根据预设请求信息判断原始请求信息是否包含验证码请求,若包含验证码请求,确定对应的验证码变量值,然后篡改该验证码变量值以模拟新请求信息,将模拟的新请求信息进行请求重发并获取对应的重发响应结果信息,最后根据重发响应结果信息和原始响应结果信息判断程序是否绕过了验证码校验,如果是,则构建风险漏洞信息并上报。解决了现有技术中后端未针对验证码进行校验可能促进他人恶意输入验证码信息跳过验证,进而获取到相关敏感信息的问题,能够保护用户的个人隐私数据,提高网络信息安全。提高网络信息安全。提高网络信息安全。
技术研发人员:张兵 万振华 王颉 李华 董燕
受保护的技术使用者:深圳开源互联网安全技术有限公司
技术研发日:2023.04.11
技术公布日:2023/7/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
