反爬虫之网易易盾分析

本文制作研究使用,切勿非法使用.
反爬虫之网易易盾分析_第1张图片
易盾有无痕验证,滑动验证,点击验证三个,今天分析的是无痕验证,通过检测浏览器的环境,确定用户使用的的客户端情况,在不需要用户任何点击的情况下,与服务器后台通信,校验用户端的环境,返回一个validate,应用于登录,注册等操作,使用于大部分的网易产品中.具有代表性.

如果客户端没有通过检测,那么就会返回空的validate,并且弹出滑动验证码:
反爬虫之网易易盾分析_第2张图片
首先还是抓包:
反爬虫之网易易盾分析_第3张图片
加密的参数有cb,data和token

token参数来自于另外一个请求,http://c.dun.163yun.com/api/v2/get?id=89ca29a41f6148a8ae61ff60e8eb70bf&fp=U6T7V%5C5slsLgo6rqWxlEuUaqpmshrcv0kW%2FtwtHVXuOf%2B8Ih%2FKtNvgMWkNG84ZA4phxVxi8IMgE0EuzeYpxOl2hXj%2FTBLYtqGZtpebapQNV2DTSGNAuEXeymlE40C0mcRjtKOUhmnBq2Z%5CS6n2m3aKvjkX8JNQ4EJcn5QqzY5PX%3A1573627948118&https=false&type=5&width=&version=2.13.1&dpr=1&dev=1&cb=HLGd5Zbzk1b05DdYG9R189J9AANLOMf49jQL1FQla80lAsLpGbWnYZe00gymkJ0j&ipv6=false&runEnv=10&group=&scene=&referer=http%3A%2F%2Freg.163.com%2Fnaq%2FfindPassword%23%2FverifyAccount&callback=__JSONP_qfln3uu_0

我们按照顺序来一个一个分析

token参数:

token参数抓包的情况:
反爬虫之网易易盾分析_第4张图片
加密的参数有fp,cb.

首先追一下这个fp参数:
反爬虫之网易易盾分析_第5张图片
继续往上:

反爬虫之网易易盾分析_第6张图片

n = window.gdxidpyhxde

这个fp来自于window.gdxidpyhxde这个全局对象,观察这段js的头部使用webpack打包的:

反爬虫之网易易盾分析_第7张图片
对于我们来说很容易搞定.继续追踪gdxidpyhxde:

反爬虫之网易易盾分析_第8张图片
继续追踪,来到了关键的部分,但是代码很难看:

反爬虫之网易易盾分析_第9张图片
我们来简单的解析翻译一下代码:

反爬虫之网易易盾分析_第10张图片
这样就很清晰了,可以看到核心的代码取到了那些浏览器BOM对象相关的东西.

这样fp函数就出来了.

cb参数:
反爬虫之网易易盾分析_第11张图片
继续:

在这里插入图片描述
反爬虫之网易易盾分析_第12张图片
其实就是一个随机生成的.uuid通过B函数来加密的.

拿到到fp和cb请求得到token.

接着第二个包:

只剩下抓包validate中的和data参数了

{"d":"","m":"UuMY1\\h0GgFOr77CcFRE/i33","p":"hKhv/EPEo5pcL6acqGkherGNrjfkjXM7Ns/bbINTYAZ3","ext":"CvykDXxbr0Kew8H4Uk4MIimKMCZ3"}

找到加密的位置:

反爬虫之网易易盾分析_第13张图片
g函数还是这个B来加密的:

反爬虫之网易易盾分析_第14张图片
call一下就可以得到B函数了.

模拟

使用python调用node执行,依然是成功的截图:
在这里插入图片描述
反爬虫之网易易盾分析_第15张图片
舒服!
源码就不公开了.

你可能感兴趣的:(反爬虫之网易易盾分析)