RPC(Remote Procedure Call)是远程调用的意思。
在Js逆向时,我们本地可以和浏览器以服务端和客户端的形式通过websocket协议进行RPC通信,这样可以直接调用浏览器中的一些函数方法,不必去在意函数具体的执行逻辑,可以省去大量的逆向调试时间。
在RPC中,发出请求的程序是客户端,而提供服务的程序是服务端,所以我们的浏览器需要是客户端,本地需要是服务端。
本文案例以新浪微博网页版的登陆为例,来讲解一下如何在web上使用RPC协议完成加密参数的获取。
网站链接:https://weibo.com/
参数分析
首先通过控制台进行抓包,可以发现POST的登陆接口
https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19)
而在FormData中有很多经过加密的参数 pcid,su,rsakv,sp
此时如果按照正常的逆向流程,需要对每个加密参数进行分析和逆向,着实比较浪费时间和精力。
先通过搜索定位一个加密参数的位置,比如全局搜索关键词 rsakv ,只有一个Js文件中有该关键词,点击进去并格式化代码,继续搜索准确位置。