安居客滑块


前言

目标网址:CWh0dHBzOi8vYXBpLmFuanVrZS5jb20vd2ViL2dlbmVyYWwvY2FwdGNoYU5ldy5odG1sP2N2PTUuMCZzZXJpYWxJRD1jYjYwZjQxN2Q1MWIzZTUzZTIwZDEzYjVmMTUyZTM5NV9lYmE2OTg0YWFjZmU0NDJmYWUzZmM3OWE3NGFlYjYxMiZuYW1lX3NwYWNlPWFuanVrZV9jX3hpYW9jaGVuZ3h1Jl91bmxlc3M9dW5sZXNzCgk=


呃,因为没有什么目标就找一些大佬文章,然后找网址练习(要是不会还可以看大佬的思路,一举多得啊)。这是大佬的文章链接(https://mp.weixin.qq.com/s/ehhFkMmj9Tu1IIwqEs2VfQ)。

一.思路

1.访问首页,得到网页源代码得到 sessionId 
2.得到dInfo参数 是由js生产,一个AES 加密
3.访问    /captcha/getInfoTp   得到responseId 
4.得到 滑块和背景图   /captcha/captcha_img?rid=  responseId  &it=_big
5.模拟滑块加密过程
6.访问  /captcha/checkInfoTp

二.观察目标网址

请添加图片描述
因为有滑块嘛,我们的首要目标就是得到背景图和滑块图吧
请添加图片描述
可以很明白的知道是这两个链接,然后我们具体看到,需要一个 rid=b3a8a875681c42d9b2a24709c1b0623f 这个参数,那我们就需要去寻找这个参数了。
最后找到了这里
请添加图片描述
看到这,这是一个请求后返回的信息,那我们就需要请求这个链接,然后就可以得到所需要的图片的连接了。
看看这个url的参数
请添加图片描述
这里注意的就是 sessionId 和 dInfo 这两个参数,而对于sessionId这个很好找,请添加图片描述
就在页面得网页源代码中,可以通过正则得到
而 dInfo 就需要分析js了。

三.js分析

通过搜索很容易定位到加密的位置
请添加图片描述
请添加图片描述
而参数e正好就是sessionId,而t也是固定的,那么得到这个加密函数就可以了。
复制全部,然后折叠看了一下是一个webpack,函数p就是它的加载函数,至于如何弄webpack,我这里推荐远哥的视频,远哥讲得很清楚很明白
请添加图片描述
当然我们这里知道了是个AES加密也可以调库。

经过以上几步我们算是拿到了滑块的图片和背景图,那么下一步就是去过掉滑块啦啦

四.滑块轨迹分析

先从我们得到这些信息要去请求的网址入手,看是否好的定位的方法
请添加图片描述

看到了几个很熟悉的参数啊 sessionId responseId dInfo data 这几个参数只有data是我们不知道的,那这个data估计就是和滑块的信息有关系了。
可以通过搜索,也可以通过堆栈回去找,有关滑块信息的位置也很容易定位到
请添加图片描述
然后等我们进入加密的部分,很高兴的发现和之前加密 dInfo地方是一样的啊
请添加图片描述
然后很有技术含量的东西我就借鉴了大佬的思路,大佬讲这里并没有对滑块的轨迹做检测,所以只需要有一条轨迹就可以了。但后面我发现,成功率与我们所构造的轨迹也有些关系。我自己就是很慢的把页面上的滑块滑倒最后,然后通过同上的位置,让页面自动加载出来,我就当作我滑块的轨迹选择。当然有更好的方法,请大佬指导一下,留个言。
至于模拟轨迹的代码,大佬文章里面有哦,可以去看一下哦。
同时还需要注意的一点就是,就是大小问题。
请添加图片描述
页面的大小是280158,我们通过请求得到的图片是480270。之前我想的是,先就用大图,然后除以一个比例,但是我用得到结果去对比发现这个比例并不好找。。。后面想着那我可把图片大小变成一样的规格啊
请添加图片描述
然后识别后差距就很小了。

这样整体下来,请求/captcha/checkInfoTp这个网址参数也全部得到了,那也就结束了
请添加图片描述


版权声明:本文为qq_50958709原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。