【某乎3.0 x96 最新版】

之前写过一期某乎关于请求头96的生成方式

webpack 抠出来之后 确实能生成参数 但没有想到的是 在其webpack代码里面其实有很多检测环境的地方,而且代码里包含了一个try catch

报错了也不会提示,也看不到直接给你返回结果,但这个结果是错的。

就是虽然你能计算出参数 但是这个是检测了环境的 并不能请求成功

之后本人花时间补了下环境

贴上之前文章链接 某乎上一篇文章

在之前文章中所生成的参数 并不能成功访问

如下在这里插入图片描述
请求时会发现 是403 那是因为生成的96参数是错的 (因为检测了很多环境)

接下来就是补环境环节
在这里插入图片描述

在某乎上 你会发现每次加密同一个md5值之后出现的结果都不一样

那是因为里面加了随机数或者时间戳变量导致的

这里我们把随机数函数重新定义下

在这里插入图片描述

这里我把随机数定义为0.1 就发现 果然加密的结果是一样的了

好了 接下来 就试试在本地生成这个加密参数

在这里插入图片描述

老规矩 window=this ; 接着先把 location, document,navigator 这些必定检测的补上

然后在代码后半部分 有一个很大的 try catch

直接注释掉 我们就知道报啥错了 该补啥了 之前没注意到这点。。

在这里插入图片描述
注释掉之后 运行看看

在这里插入图片描述
这里发现history未定义 ,要补上history
就补吧

History = function(){
    this.length = 3
    this.scrollRestoration= "auto",
    this.state= null
};
history = new History();

继续

在这里插入图片描述
screen也要补的
在这里插入图片描述
继续

补上了上面一些东西后 运行 会发现 没报错 但是计算出来的结果 不正确 实测带着这个参数去访问也是403 就说明还是检测到了 环境
在这里插入图片描述
于是我们挂上代理 看看那些取了属性

在这里插入图片描述
发现代码运行到document.toString()的时候就结束 直接返回了参数 那么我们看看本地和浏览器环境的返回值有什么不同

本地: 在这里插入图片描述

浏览器: 在这里插入图片描述
这里就要修改下原型函数
在这里插入图片描述
补上了 之后 可以发现 加密结果变了 但是还是错的参数 继续吧

在这里插入图片描述
这里发现 在这里插入图片描述在浏览器环境里 window.name='' 本地为undefined 这个也补上吧

接下来就是navigator.toString()方法了 很明显

这个也要补上

在这里插入图片描述
补上之后 会发现结果又变了 但是还是不对

接着是location 继续补
在这里插入图片描述
接着是history 继续

在这里插入图片描述
然后是screen

在这里插入图片描述
screen补完之后 发现代码报错

这就。。。

找到这一行报错的代码 我们输出看看

在这里插入图片描述

因为上面是createElement方法之后报错的 那么肯定和这个函数有关

在这里插入图片描述看到了 canvas 和 2d 很明显了 就是document.createElement('canvas').getContext('2d')了

把这个也补上

在这里插入图片描述
在这里插入图片描述
好了 接着运行

在这里插入图片描述
在这里插入图片描述
这里检测了alert 补上吧

在这里插入图片描述

 getElementById 也补上!

在这里插入图片描述
接着是getElementsByClassName
补上

运行

在这里插入图片描述
成功了!

接着py试试
在这里插入图片描述

没问题!

如有敏感信息 wei规 请联系我删除

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值