RPC调用

RPC在JS逆向中的利用:

浏览器当作服务端,本地起一个类似注册中心的服务,Python脚本作为客户端。注册中心作为客户端和服务端的通信桥梁,客户端可以直接调服务端暴露出来的API(即功能函数,如加解密函数)

Tools:

  • https://github.com/jxhczhl/JsRpc

  • https://github.com/yint-tech/sekiro-open

JsRPC

复制项目中JsEnv.js到浏览器Sources的代码片段,右下角点击运行

image-20231008162414018

本地运行编译好的文件win64-localhost.exe,开启RPC监听。

浏览器控制台开启websocket监听

python脚本执行:

浏览器控制台成功打印test,python收到返回值{"data":"执行成功","group":"api","name":"test","status":"200"}

注意group和name要和上面创建的监听连接一致。

🎯Target:dWdnY2Y6Ly9jbmZmY2JlZy56cnZnaG5hLnBiei9ucHBiaGFnL2hhdmd2aXJ5YnR2YQ==

登录接口有一个很长一串的字符h5Fingerprint

image-20231008222243599

全局搜索h5Fingerprint

image-20231008173825446

本地文件覆盖js文件,并在h5Fingerprint的生成逻辑处插入websocket监听的代码

image-20231008222406597

Ref

https://blog.csdn.net/kdl_csdn/article/details/123074729

Last updated