爬虫逆向实战(41)-某花顺登陆(Cookie、MD5、SHA256)

一、数据接口分析

主页地址:某花顺

1、抓包

通过抓包可以发现在登陆时,网站首先请求了pwdRangeCalcRegular.jsongetGS两个接口,接着请求dologinreturnjson2进行登陆,但是此接口会返回请先完成滑块验证码校验的响应。然后网站就会请求getPreHandle接口获取滑块验证码,在滑动验证码之后,会请求getTicket接口进行校验,校验成功之后,会再次发送登陆请求。

2、判断是否有加密参数

2.1 请求参数是否加密?

(1) getGS

通过查看"载荷"模块,可以发现有两个加密参数,unamecrnd

(2)dologinreturnjson2

这个接口的加密参数就比较多了,需要关注的有三个参数unamepasswdpasswdSalt,除了这三个参数以外,还有两个参数。一个是dsk,通过查看接口可以发现这个参数是上面getGS接口返回的,另一个是crnd,这个参数与getGS请求携带的crnd是一样的。

2.2 请求头是否加密?

通过查看"标头"模块可以发现,请求头中有一个Hexin-V,且这个参数的值与cookie中的v值一致,所以可以不需要关心这个请求头的值,把cookie中的v值生成出来,放到请求头中就可以了。

2.3. 响应是否加密?

2.4. cookie是否加密?

通过2.3可知有一个v的加密cookie

二、加密位置定位

1、加密参数

通过搜索关键字passwd:可以很轻松的搜索到加密位置,发现此处是大部分加密参数的加密位置,且getGS接口也是从此处请求的,从此处进入到getSaltGS方法内部,就可以定位到getGS接口所需要的参数。

同时我们可以发现,其中有几个参数我们是不知道的,captcha_phrasecaptcha_ticketcaptcha_signature,这三个参数通过变量名就可以看出是跟滑块验证码有关的,所以可以暂时不处理。除了这三个参数以外,还有两个参数scoreParamignore_upwd_score,通过搜索关键字scoreParam =可以发现这个参数的赋值位置。

不难看出,此参数就是网站根据请求pwdRangeCalcRegular.json返回的规则,对输入的密码进行评分。

2、Cookie

首先将cookie清除,然后运行hook脚本,刷新页面,接着跟栈,就可以发现cookie的生成位置了。

三、扣代码大致思路

1、第一步

先扣加密参数的代码,加密参数的代码只需要将thsencrypt加密对象所在文件的代码全部copy出来,然后补一下环境就可以了,其他代码缺啥补啥就行了。

2、第二步

扣cookie生成的代码,两种方案。

第一种方案,将cookie生成位置整个文件的代码copy出来,然后补环境,将cookie生成方法导出到全局即可,代码量1300行左右。

第二种方案,进入到cookie生成的方法中,一步一步的把用到的方法扣出来,cookie生成的方法中会有一些浏览器指纹检测,可以写死,也可以弄成随机的。指纹检测写死的话,代码量100行左右。

四、请求大致思路

1、第一步(可省略)

首先需要请求pwdRangeCalcRegular.json接口,获取到密码评分规则,然后通过网站的方法得到密码的分数。因为此接口返回的密码评分规则是不变的,所以可以直接复制下来用,省去这一个请求。

2、第二步

生成cookie,同时将其放入请求头中。

3、第三步

请求getGS接口,将响应结果保存以及请求时携带的crnd参数。

4、第四步(可省略)

从getGS的响应中提取dsk和请求时携带的crnd参数,发送第一次dologinreturnjson2。此次请求肯定返回的是失败的响应,因为还没有进行滑块验证。

5、第五步

请求getPreHandle接口,获取滑块验证码的背景图和滑块图,同时将响应中的sign参数保存。

6、第六步

识别滑块位置(注意:x轴和y轴的距离均需要),然后同时携带getPreHandle响应中的sign参数,发送getTicket请求,此请求验证成功后会返回ticket参数。

7、第七步

至此,dologinreturnjson2接口所需要的所有参数均已拿到,就可以发送请求进行登录了。

相关推荐
ZC跨境爬虫3 小时前
Scrapy实战:5sing原创音乐网多页数据爬取(完整可运行,附避坑指南)
爬虫·python·scrapy·html
llm大模型算法工程师weng4 小时前
Python爬虫实现指南:从入门到实战
开发语言·爬虫·python
一点 内容5 小时前
Scrapy框架深度解析:高效构建分布式爬虫的实战指南
分布式·爬虫·scrapy
kisloy5 小时前
【反爬虫】极验4 W参数逆向分析
java·javascript·爬虫
wanhengidc6 小时前
服务器如何防范爬虫攻击?
运维·服务器·网络·爬虫·游戏·智能手机
小白学大数据8 小时前
Python 爬虫:拍卖网站列表页与详情页数据联动爬取
开发语言·爬虫·python
HP-Patience8 小时前
【爬虫脚本自动化录制】playwright codegen使用教程
运维·爬虫·自动化
深蓝电商API8 小时前
淘宝商品详情页逆向:无需API获取SKU价格与库存的爬虫方案
爬虫·api·反向海淘
千枫s1 天前
做一个电脑版爬虫程序
爬虫·python
亿牛云爬虫专家1 天前
生产级Go高并发爬虫实战:突破 net_http 长连接与隧道代理IP切换陷阱
爬虫·http·golang·代理ip·keepalive·隧道代理·https connect