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

相关推荐
qq_158895411111 天前
AI 音乐生成完成后,音频 URL 为什么会过期?一套可恢复的交付方案
python·api·ai音乐
2601_962106641 天前
【Java Set综合实战】商品管理系统 + 图书收藏系统|Product、Book自定义类全套代码
java
Warson_L1 天前
高性能架构设计
python·go
databook1 天前
新数据到手,先跑哪几步检查
python·数据分析
RuoyiOffice1 天前
SpringBoot+Vue3 凭证生命周期设计:审核、过账、冲销与反过账怎样保持账目一致
java·spring boot·事务·springboot3·财务系统·会计凭证·ruoyi office
2601_962106641 天前
HashMap入门|工号-姓名键值存储、两种遍历方式、根据key/value查
java
czq_26867194871 天前
Python打卡第46天
开发语言·python
我不会起名字3221 天前
Redis 从 0 到 1(三十七·收官):36 篇浓缩成 1 张知识地图 + 50 项生产 Checklist
redis·go·知识体系·checklist·收官
杨凯凡1 天前
Spring Framework 7 API 版本管理实战:请求头路由、兼容迁移与废弃策略
java·rest api·springframework·spring boot 4·api版本管理
Mz码不住1 天前
用 Wails 写一个跨平台进程管理器
go