声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!
前言
这次会简单的讲解极验3代文字点选的逆向分析流程,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可私信我。
一、请求流程分析、参数分析
一、请求流程分析及参数分析
1.1 register-slide-official接口:get请求(https://www.geetest.com/demo/gt/register-slide-official?t=1705803119607
)参数t:时间戳。返回值有gt,challenge。下面的请求接口需要用到。
1.2。gettype.php接口:(https://api.geetest.com/gettype.php?gt=ff3cd843746782b0e0f377c2d234d6a5&callback=geetest_1705803126025) 返回一些js文件,这个接口可以不用管。
1.3 get.php接口:(https://api.geetest.com/get.php?)(第一次出现这个接口)参数:gt,challenge,w。这个接口的w可以为空。gt,challenge,这两个参数是register-slide-official接口的返回值。
params = {
"gt": gt,
"challenge": challenge,
"lang": "zh-cn",
"pt": "0",
"client_type": "web",
'w': w,#可以为空
"callback": "geetest_" + str(int(time.time() * 1000))
}
这个接口返回c和s。但是这个返回的c和s在之后的可能会有用。
1.4 ajax.php接口:(https://api.geevisit.com/ajax.php)这个接口返回验证码的类型。
参数:
params = {
"gt": gt,
"challenge": challenge,
"lang": "zh-cn",
"pt": "0",
"client_type": "web",
'w': w,#可以为空
"callback": "geetest_" + str(int(time.time()*1000))
}
w可以为空。
1.5 get.php接口:(https://api.geevisit.com/get.php?)参数:
params = {
"is_next": "true",
"type": "slide3",
"gt": gt,
"challenge": challenge,
"lang": "zh-cn",
"https": "true",
"protocol": "https://",
"offline": "false",
"product": "embed",
"api_server": "api.geetest.com",
"isPC": "true",
"autoReset": "true",
"width": "100%",
"callback": "geetest_" + str(int(time.time()*1000))
}
返回
geetest_1726456895125({
"status": "success",
"data": {
"theme": "silver",
"theme_version": "1.5.4",
"static_servers": ["static.geetest.com/", "static.geevisit.com/"],
"api_server": "api.geevisit.com",
"logo": true,
"feedback": "https://www.geetest.com/contact#report",
"spec": "1*1",
"sign": "",
"pic": "/captcha_v3/batch/v3/82608/2024-09-16T11/word/b4a40d94dc374a7abdec4cc7ee59e4cb.jpg",
"pic_type": "word",
"num": 0,
"image_servers": ["static.geetest.com/", "dn-staticdown.qbox.me/"],
"resource_servers": ["static.geetest.com/", "static.geevisit.com/"],
"c": [12, 58,