Python实战案例:这是你见过的最详细的JS加密登录某博

Python实战案例:这是你见过的最详细的JS加密登录某博_第1张图片

0x00 抓包分析

Python实战案例:这是你见过的最详细的JS加密登录某博_第2张图片

简单的搜索之后发现,很多参数都是登陆上面这个请求返回的值,这个请求在输入完账号光标到达密码框时就会生成!

Python实战案例:这是你见过的最详细的JS加密登录某博_第3张图片

Python实战案例:这是你见过的最详细的JS加密登录某博_第4张图片

0x01 加密逻辑分析

Python实战案例:这是你见过的最详细的JS加密登录某博_第5张图片

搜索su=可以很快找到加密的位置,上图看到e.su和e.sp都是由sinaSSOEncoder这个函数生成的,搜索sinaSSOEncoder发现就是这个js,也就是说把当前js全部拷贝下来就可用

这里可以得知su是由账号加密得到

Python实战案例:这是你见过的最详细的JS加密登录某博_第6张图片

me.rsaPubkeyme.servertimeme.noce这三个值都是由服务器返回的值,不多做解释!

Python实战案例:这是你见过的最详细的JS加密登录某博_第7张图片

最后这个b则是我们的密码,e.sp也就是处理完后的b值

Python实战案例:这是你见过的最详细的JS加密登录某博_第8张图片

在当前js文件中搜索prelt得知是由preloginTime生成

image.png

preloginTime就是一个时间戳减一个停顿后的时间戳,其实可以设置为一个随机数

0x02 代码编写

1.获取nonce、rsakv等参数

Python实战案例:这是你见过的最详细的JS加密登录某博_第9张图片

2.获取跳转链接

Python实战案例:这是你见过的最详细的JS加密登录某博_第10张图片

Python实战案例:这是你见过的最详细的JS加密登录某博_第11张图片

3.获取跳转链接

Python实战案例:这是你见过的最详细的JS加密登录某博_第12张图片

4.最后请求

5.登陆验证

到此为止已经是成功登陆了,最后再请求一下主页,如果返回的源代码中有自己的用户名,那么说明我们已经登陆成功了,很多小伙伴在学习Python的过程中往往因为没有资料或者没人指导从而导致自己不想学下去了,因此我特意准备了大量的PDF书籍、视频教程,都免费送给大家!不管你是零基础还是有基础都可以获取到自己相对应的学习礼包!

Python实战案例:这是你见过的最详细的JS加密登录某博_第13张图片

你可能感兴趣的:(python,pygame,爬虫,python,javascript,开发语言)