boss直聘 __zp_stoken__ 逆向分析

声明:

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
有相关问题请第一时间头像私信联系我删除博客!

前言

zp_stoken 风控有点恶心搞了很久才百分百成功了剩下解决验证码即可。

逆向分析

主要监测点就是要处理要window.top和window的关系。

{

"ancestorOrigins": {

},

"href": "about:blank",

"origin": "null",

"protocol": "about:",

"host": "",

"hostname": "",

"port": "",

"pathname": "blank",

"search": "",

"hash": ""

}

location里面什么都没有,值在window.top.location里面。

然后就是把node的一些监测点建议全部清除。可以参考boda、零点、挽风开源里面怎么去除监测点的,全部清除。

最后python代码

复制代码
#
import time

import requests
seed = ""
ts = ""
session = requests.session()
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0",
    "x-requested-with": "XMLHttpRequest"
}
cookies = {

}
url = "/zpgeek/search/joblist.json"
params = {
    "scene": "1",
    "query": "fff",
    "city": "101280100",
    "experience": "",
    "payType": "",
    "partTime": "",
    "degree": "",
    "industry": "",
    "scale": "",
    "stage": "",
    "position": "",
    "jobType": "",
    "salary": "",
    "multiBusinessDistrict": "",
    "multiSubway": "",
    "page": "1",
    "pageSize": "30"
}
response = session.get(url, headers=headers, cookies=cookies, params=params)
data = response.json()['zpData']

seed = data['seed']
ts = data['ts']
print(seed, ts)
for i in range(1,10):
    result = requests.get("http://127.0.0.1:3000/", json=dict(session.cookies),
                          params={'url': "", 'seed': seed, 'ts': ts}).json()
    token = result['_abck']
    print(token)
    session.cookies.set('__zp_stoken__', token)
    response = session.get(url, headers=headers, params=params)
    print(response.json())
    params['page'] = i
    time.sleep(1)

结果

总结

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

相关推荐
王琦03182 分钟前
Python 0909
前端·javascript·python
念念01078 分钟前
Flask 博客系统(Flask Blog System)
后端·python·flask
Funcy14 分钟前
XxlJob 源码分析04:admin与executor通讯
java
tianyuanwo15 分钟前
pyproject.toml 的历史背景和原理
python·pyproject·setup.py
托比-马奎尔18 分钟前
初识SpringBoot
java·spring boot·后端
前行的小黑炭25 分钟前
Android :如何提升代码的扩展性,方便复制到其他项目不会粘合太多逻辑,增强你的实战经验。
android·java·kotlin
-凌凌漆-26 分钟前
【Qt】【C++】虚析构函数及 virtual ~Base() = default
java·c++·qt
蒋星熠31 分钟前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
凯尔萨厮39 分钟前
Java学习笔记四(继承)
java·笔记·学习
Mr_Xuhhh43 分钟前
项目-sqlite类的实现
java·jvm·sqlite