Python爬虫——某体育网站登录令牌加密分析
某体育网站登录令牌加密分析
aHR0cHMlM0EvL3d3dy55YWJvMjU5LmNvbS9sb2dpbg==
这个网站需要分析的是登录时候的 sign令牌
抓包与加密定位
老规矩先用开发者工具抓包
这里一般定位就是搜参数和xhr断点会比较方便,但是使用这两种都有他不方便的地方
搜参数这个方法直接搜加密的参数名会出现很多的结果,需要一个一个去分析,同样也有局限性,比如参数是混淆的就搜不到了。
xhr断点这个方法需要这个请求是xhr请求才行,而且断上之后还需要一步步调试堆栈才能找到加密的位置,如果不小心漏了需要耐心重新分析。
这里重提下在前面的文章,我提过一个思路,就是不要直接搜索加密的参数,可以搜索同一个请求提交的其他参数,一般参数提交的地方都是在一块的
这里实操一下,搜索nonce_str就只有一个结果,直接跟进即可
在定位出来的文件位置中再次检索,直接就定位到加密的位置了
接下来打上断点验证看我们的分析是否准确
成功断上,说明确实定位到了
分析加密
可以看到这里的 sign 是由 d赋值的,而 d = o.a.hmac(t,u)
这里需要知道的参数就是o 、t、u这三个
我们继续分析这三个参数是怎么出现的
s 的值是一串字符串
这里的参数都是请求提交上来的,之后做了一个 base64 的编码
后面的t 也是传入的d77f7fcff637bc61bfb82fcbcd767bfa
这里就只剩一个o跟进去看就很明显是一个hmacsha256
为了沿着我们可以网上找一个加密站测试下。对Python感兴趣或者是新手入门不懂怎么学习的小伙伴,可以加入我的薇信:itz992 从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。分享给每一位python的小伙伴!每晚给大家分享一些学习的方法和需要注意的小细节
这是测试网站的加密结果
这是加密网站的加密结果
完全一样,说明我们分析是没有错的,接下来直接使用 Python 复写出来即可。