前言
之前挖SRC时亦或者做题时,不想去分析对应的算法,很多时候就需要用hook,或者RPC调用对应的加密函数,发现一个很好用的RPC框架sekiro。
https://sekiro.virjar.com/sekiro-doc/index.html
简单部署
根据手册进行部署,建议部署在本地,或者云端。
# 先更新源
# 安装docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
# 设置docker开机自启动
sudo systemctl start docker
sudo systemctl enable docker
systemctl enable docker.service
systemctl start docker.service
# 安装docker-compose,这里使用了pip的方式,先安装python以及pip,这里略
sudo pip install docker-compose
# 启动sekiro
curl https://oss.iinti.cn/sekiro/quickstart.sh | bash
访问端口:http://ip:5612/,第一次打开会让你注册账户,第一个注册账户默认将会成为管理员。
然后去分组页面创建一个分组,我这里用test1,方便监控:
按照手册里面的要求,安装证书,不然后面可能会因为浏览器的安全策略而碰上奇奇怪怪的问题。
对于一些CSP的问题,官方文档也提供了解决办法。
快速使用
手上没有合适的案例,这里找了个一个网站,简单尝试下,定位到加密函数如下:
把算法抠出来,在控制台简单改一下:
然后在控制台中输入如下内容(文档中有,不局限于js环境,sekiro支持多种语言环境,具体可以看文档):
此时再编写一个fastapi,简单起一个web,用于调用sekiro的rpc接口,其中的sekiro_token在登录sekiro的web端后有,复制过来即可:
后面就直接调用fastapi中的接口即可:
总结
通过一个简单的案例可能体现不出这个框架的强大,这里只演示了在浏览器环境下的调用,sekiro还可以在frida下调用,对于一些经常用到的算法或者签名,能通过rpc调用极大简化测试流程。