声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析
部分代码
response = requests.post(url, headers=headers, data=data,proxies=proxies)
print(response.json()['data'])
verify_center_decision_conf = json.loads(response.json()['data']["verify_center_decision_conf"])
mode = verify_center_decision_conf["subtype"]
detail = verify_center_decision_conf["detail"]
fp = verify_center_decision_conf["fp"]
url = "/captcha/get"
params = {
"lang": "zh-Hans",
"app_name": "",
"h5_sdk_version": "2.33.10",
"h5_sdk_use_type": "cdn",
"sdk_version": "",
"iid": "0",
"ch": "web_text",
"aid": "1459",
"os_type": "2",
"mode": "whirl",
"tmp": int(time.time()*1000),
"platform": "pc",
"webdriver": "false",
"fp": fp,
"type": "verify",
"detail": detail,
"server_sdk_env": "{\"idc\":\"useast5\",\"region\":\"US-TTP\",\"server_type\":\"passport\"}",
"imagex_domain": "",
"subtype": "whirl",
"challenge_code": "99996",
"os_name": "windows",
"h5_check_version": "3.8.25",
"region": "ttp",
"triggered_region": "ttp",
"cookie_enabled": "true",
"screen_width": "1536",
"screen_height": "864",
"browser_language": "zh-CN",
"browser_platform": "Win32",
"browser_name": "Mozilla",
"browser_version": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0",
}
response = requests.get(url, headers=headers, params=params,proxies=proxies)
data = response.json()['data']
# print(data)
print(data['challenges'][0])
verify_id = data['verify_id']
mode = data['challenges'][0]['mode']
cyfreso = data['cyfreso']
id = data['challenges'][0]['id']
base_url = "user/login"
data = {
"mix_mode": "1",
"username": "",
"password": "",
"aid": "1459",
"is_sso": "false",
"account_sdk_source": "web",
"region": "US",
"language": "zh-Hant",
"did": "",
"fixed_mix_mode": "1"
}
url = requests.get('http://127.0.0.1:3000/url').text
print(url)
response = requests.post(url, headers=headers,data=data,proxies=proxies)
print(response.text)
结果

总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。