现在的位置: 首页 > 综合 > 正文

反爬虫之网易易盾分析

2019年11月15日 综合 ⁄ 共 1370字 ⁄ 字号 评论关闭

  本文制作研究使用,切勿非法使用.

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

  如果客户端没有通过检测,那么就会返回空的validate,并且弹出滑动验证码:

  首先还是抓包:

  加密的参数有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参数抓包的情况:

  加密的参数有fp,cb.

  首先追一下这个fp参数:

  继续往上:

  n = window.gdxidpyhxde

  1

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

  对于我们来说很容易搞定.继续追踪gdxidpyhxde:

  继续追踪,来到了关键的部分,但是代码很难看:

  我们来简单的解析翻译一下代码:

  这样就很清晰了,可以看到核心的代码取到了那些浏览器BOM对象相关的东西.

  这样fp函数就出来了.

  cb参数:

  继续:

  其实就是一个随机生成的.uuid通过B函数来加密的.

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

  接着第二个包:

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

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

  1

  2

  找到加密的位置:

  g函数还是这个B来加密的:

  call一下就可以得到B函数了.

  模拟

  使用python调用node执行,依然是成功的截图:

  舒服!

  源码就不公开了.

抱歉!评论已关闭.