boss直聘参数__zp_stoken__分析第二弹

简介: boss直聘参数__zp_stoken__分析第二弹
项目地址:aHR0cHM6Ly93d3cuemhpcGluLmNvbS9qb2JfZGV0YWlsLz9xdWVyeT0lRTklODAlODYlRTUlOTAlOTEmY2l0eT0xMDAwMTAwMDAmaW5kdXN0cnk9JnBvc2l0aW9uPQ==

观前提示:

本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除




 前言

上一篇文章[2020-8-18]boss直聘__zp_stoken__参数分析

分析了__zp_stoken__ 用了哪些环境参数 以及介绍了俩种hook方法

这一篇 我们详细讲另外一种方法以及上一篇没讲到的环境的分析



 分析

有一些小伙伴看了上一篇文章后补了环境能算出值却是过不了的

那就要考虑一下是不是eval和Function检测的环境是不是漏了

我们会经常用nodejs来调试js 而nodejs调试器可以显示出使用过的VM

那我们要知道 eval和Function运行的东西都是要在VM里面执行的 那我们只要获取到所有的VM代码不就知道他检测了哪些东西吗?操作起来!



补好部分头之后(确保能算出值) 在尾部打上一个 debugger

然后快捷键 F5 启动调试运行

接着会在debugger断住出现如下图一样的界面

点开

就能看到一堆VM文件了

一个一个点开查看

[process.pid, process.version, process.arch]

这个可以忽略不计

爬 下一个

window.sb = window.history.length;

这个简单 定义个window.history.length就行了

try {window.sb = /\w+:\/\/([^\/:]+)/.exec(top.location.href)[1].replace('www','w');} catch(err){}

可以看到它的代码是很狗的 放在VM里面运行 还顺便带了try 你没发现的话根本不知道也不报错

这个是检测了host 我们只需要定义一个top.location.href就行了

置于href的值 自己去网页中拿即可


typeof document === "object"

这个就是检测了document的类型 要确保网页的运行返回的值和node运行的返回的值是一致的

例如 网页中返回的true 那我们的node也要是true才行

typeof navigator === "object"

和上同

typeof window ["navigator"] ["userAgent"] == "string"

检测window ["navigator"] ["userAgent"]是不是为string类型 如果你没定义 那userAgent就是undefined 而typeof undefined的结果就是"undefined"

那上述的代码就返回的false 所以缺啥补啥 让他和网页返回的值一致即可

typeof setInterval == "function"

检测 setInterval 这个是不是function 我们直接伪造一个空的function即可

(function anonymous(
) {
try {return typeof global == "undefined";}catch(e){return false;}
})

这里的typeof global网页是返回undefined 而node返回是object 那我们就直接重新定义一个global为undefined就可以了

(function anonymous(
) {
try {return this === global;}catch(e){return false;}
})


(function anonymous(
) {
try { return process["argv"][0]["indexOf"]("node") >0 }catch(e){return false;}
})


(function anonymous(
) {
try {return typeof module != "object";}catch(e){return false;}
})

同上 它检测的就是node和网页中的差别从而判断你是不是node环境

(function anonymous(
) {
try { localStorage["setItem"]("localSetxx","1") }catch(e){}
})


(function anonymous(
) {
try { return localStorage["getItem"]("localSetxx") == "1" }catch(e){return false;}
})

这里localStorage的一个set和一个get操作 之前教过你们怎么补了 不懂去翻


typeof child_process === "undefined"

typeof Buffer === "undefined"

好补 直接定义undefined

(function anonymous(
) {
try {return window ["window"] ["window"] ["toString"]() === "[object Window]" || window ["window"] ["window"] ["toString"]() === "[object]" }catch(e){ return false; }
})

这里启用了套娃模式 但是他要啥我们给啥不就行了嘛

(function anonymous(
) {
try { return closed["__proto__"] === ( 1>>3 >4 )["__proto__"] }catch(e){ return false; }
})

这里不知道在判断啥 我是直接定义closed然后closed["__proto__"]=(1>>3>4)["__proto__"]  反正结果稳稳返回true 美滋滋

(function anonymous(
) {
try { return !document["getElementById"]("ss") }catch(e){ return false; }
})

这里是document["getElementById"] 不需要返回结果 反正是取反返回true

所以直接定义一个假的getElementById即可

(function anonymous($qrq, _j$q, n34012, fn
) {
$qrq in document?1:_j$q[n34012]=fn()
})

不知道在做啥 不管 不报错就行

总的来说呢 就是检测了一些node才有的东西而网页中是没有的从而判断你的运行环境 也不报错 一不小心就入坑了


现在够详细了吧

那有小伙伴就问成功率了

我实测了Python和易语言俩个环境跑数据

Python-仅仅40%的成功率

易语言-接近百分百成功率


一样的环境代码 不一样的结果 啥原因自行测试吧~






[完]



相关文章
|
JavaScript 前端开发 数据安全/隐私保护
boss直聘__zp_stoken__参数分析
boss直聘__zp_stoken__参数分析
2149 1
|
6月前
Edge浏览器禁止更新教程,Edge浏览器还有这操作?新建标签页到处是广告总得解决吧
Edge浏览器近年口碑下滑,广告增多、资源占用高、后台进程顽固等问题频现。本文教你如何关闭新建标签页广告、禁用自动更新及冗余后台进程,并提供小巧实用的禁用工具下载,助你优化浏览体验。
2820 0
|
存储 Kubernetes Cloud Native
[云原生] [kubernetes] K8S安装存储类 - StorageClass
[云原生] [kubernetes] K8S安装存储类 - StorageClass
1326 0
[云原生] [kubernetes] K8S安装存储类 - StorageClass
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
35443 1
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
机器学习/深度学习 自动驾驶 机器人
深度学习之人类行为模仿
基于深度学习的人类行为模仿是指利用深度学习技术构建模型,使计算机系统能够学习、理解、并模仿人类的行为。通过模拟人类的动作、决策过程、情感反应等行为,相关技术在机器人、虚拟助手、人机交互等领域具有广泛的应用前景。
457 5
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
1134 1
|
数据安全/隐私保护
新年快乐鞭炮祝福html网页源码
新年快乐鞭炮祝福html网页源码,动态点燃鞭炮动画祝福新年快乐,带新年背景音乐,无加密完整可用,源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面。
591 0
新年快乐鞭炮祝福html网页源码
|
JavaScript 前端开发 数据安全/隐私保护
雪球JS逆向:阿里系加密acw_sc__v2和反debugger
雪球JS逆向:阿里系加密acw_sc__v2和反debugger
2961 1
|
JavaScript 安全 数据安全/隐私保护
去哪儿旅行JS逆向:__m__加密和请求头键值对加密(上篇)
去哪儿旅行JS逆向:__m__加密和请求头键值对加密(上篇)
443 0
去哪儿旅行JS逆向:__m__加密和请求头键值对加密(上篇)