网站登录需要的sensor_data是怎样的
网站登录需要的sensor_data是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
10年积累的做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有洛龙免费网站建设让你可以放心的选择与我们合作。
sensor_data 这个东西,相信都有很多人知道这个东西,我之前也搞过这个网站的登录,但是不成功,只能得到某些网页的数据,对于登录,当时是一直被拒绝的,就像下面这样。
接下来说下这个东西需要的东西,如果你会使用ast还原代码的话,这个网站对你来说还是很容易的。还原之后是这个样子的:不过这个网站很神奇,我在还原代码之后,使用 fiddler 替换 js文件,网站报错了,然后我试着不开重定向 js 文件,还是不行,清除了 cookie 所所有的东西都是不行,但是别人的电脑却可以,如果有大神知道原因的话,希望能交流下。
还原之后,一眼下去就知道这个网站检测的啥了,都是些浏览器指纹,在第一次初始化 sensor_data 的时候,只用到了少部分浏览器指纹,比如 ua、浏览器宽高等这些属性,比较多的指纹都在几个定时器上面加载的,如下面:
所以需要在一些获取浏览器指纹的地方打个断点,多个几个也没事,宁可错杀,不可放过。
里面比较厉害的是,浏览器指纹这些都是明文的,不加密,这样子如果量爬的话,就会很容易被封浏览器,需要大量的浏览器指纹,这也是个很大难度的事,有经验的也可以交流下。
里面的 getforminfo 这个函数是获取当前页面的 input 表单的属性,这个可以模拟,也可以直接固定,反正我固定也是可以过的,不需要改变。
里面的定时函数需要自己在适当的时候调用,大概的调用顺序如下:
这个有经验的话还是好处理的,接下来就是比较难的了,里面设置了很多监听事件,如 click、mousedown、keydown、mousemove等17个事件,不过主要是 mousemove 和 mousedown这两个事件,因为mousedown 这个事件会更新 abck cookie,mousemove的话无处不在,但是只记录前100个 mousemove,其他的暂时不清楚,没细看。
如果需要模拟事件的话,可以自己在 js里面加上些自己的js语句来收集事件轨迹,用 fiddler 的重定向来就行了。注意的是,一定需要 mousedown 事件是最后的,因为只有这个事件才会更新 sensor_data, 其他的都是在收集信息,所以需要他是最后一个事件。来到这里就差不多成功了,就只剩下模拟请求了。他这里初始化的话会一开始就有两个请求,第一个是请求获取这个文件的 js,这个文件就是用来生成 sensor_data 的,第二个是获取初始化的 sensor_data 并发送到服务器校验。
接下来定时器会有个请求,因为他更新了sensor_data, 所以也需要发送到服务器。
因为我们需要模拟登录,所以还会有两个 mousedown 事件,一个是点击登录来显示登录控件的。
所以还需要两个这样的请求,所以总共校验了 5 次,这个是很重要的。如果你只是模拟了四次,成功率大概有 50%左右,而且分分钟也运行不了,模拟了五次之后,成功率就稳稳的了接下来就是登录请求了,登录请求的 data 参数我直接固定了,因为我只是学习下,并不爬或者做其他事,所以直接固定了事。登录请求需要东西只有这些即可:最后,还是比较重要的,因为这个网站里面需要用到很多中间变量来一步步加密 sensor_data,每次加密的变量都和上一次有关的,所以需要使用 nodejs 开个 api 接口来搞,直接用 execjs 来的话,很难搞,开个 api 也不难,直接如下:
最后的最后,做完这些,你就能登录了,这个网站难点在于轨迹,不过好像轨迹也不怎么校验,其他的都不难,,里面的加密都只是用到 base64 和一个摘要算法好像,基本都是明文,所以不难,你会操作ast还原代码的话更加容易了。 关于网站登录需要的sensor_data是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
网站标题:网站登录需要的sensor_data是怎样的
文章链接:
http://kswjz.com/article/jocgch.html
扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流