新浪微博网页版
新闻来源:信本金融牌照 https://www.Xbzxjt.com 阅读: 发布时间:2021-08-09
今天搞一搞微博的电脑网页版登录,难度会比之前的高一点,由于登录的部分参数进行了加密,因此这篇博客涉及到简单的js分析和python加密。
抓包
首先进行抓包,去除无用的css、图片请求后如图:贷款
在这里贴出两个比较重要的请求,perlogin请求和login请求,如下图:
查看login请求,可以看到post参数中并没有我们输入的账号和密码,再查看perlogin请求,可以发现login请求中出现的servertime、nonce、rsakv等参数都出现在perlogin请求的返回结果中,那么login请求中剩下的su、sp两个参数很大概率就是账号和密码。
先看su参数,看上去是base64编码,那么我们直接解码,可以得到输入的帐号,那么不出意外的话sp应该就是加密后的密码。在perlogin请求的返回结果中我们也得到了pubkey参数,从rsakv、pubkey两个参数的命名来看,新浪微博采用的加密方式是rsa加密,具体加密方式我们需要分析微博的js来确定。
分析
在微博登录页面打开chrome控制台,在sources选项卡中打开搜索,直接搜索"sp"或者"sp =",然后进入js中查看,如图:
不出意外的话f.encrypt就是我们要找的加密方法,同时我们也可以确定加密方法确实是rsa加密,同时微博也在密码前添加了servertime、nonce、t、n等来作为Salt。知道了加密方式我们直接编写代码即可。
抓包
首先进行抓包,去除无用的css、图片请求后如图:贷款
在这里贴出两个比较重要的请求,perlogin请求和login请求,如下图:
查看login请求,可以看到post参数中并没有我们输入的账号和密码,再查看perlogin请求,可以发现login请求中出现的servertime、nonce、rsakv等参数都出现在perlogin请求的返回结果中,那么login请求中剩下的su、sp两个参数很大概率就是账号和密码。
先看su参数,看上去是base64编码,那么我们直接解码,可以得到输入的帐号,那么不出意外的话sp应该就是加密后的密码。在perlogin请求的返回结果中我们也得到了pubkey参数,从rsakv、pubkey两个参数的命名来看,新浪微博采用的加密方式是rsa加密,具体加密方式我们需要分析微博的js来确定。
分析
在微博登录页面打开chrome控制台,在sources选项卡中打开搜索,直接搜索"sp"或者"sp =",然后进入js中查看,如图:
不出意外的话f.encrypt就是我们要找的加密方法,同时我们也可以确定加密方法确实是rsa加密,同时微博也在密码前添加了servertime、nonce、t、n等来作为Salt。知道了加密方式我们直接编写代码即可。