简介
sqlmap
是一个开源的渗透测试工具,可以用来自动化的检测,利用SQL注入漏洞,获取数据库服务器的权限。
然而,sqlmap 本身只支持HTTP或直连数据库进行测试。这意味着对于gRPC目标,我们需要一点点额外的工作。
grpcui
一个不用自己造轮子的方案是 grpcui。
grpcui
是一个命令行工具,可以让我们通过浏览器与 gRPC 服务器进行交互。它有点像 Postman,但用于 gRPC API 而不是 REST。
按照提示在浏览器中打开 Web UI,grpcui 会自动通过 gRPC ServerRefelction
获取可用服务并展示在下拉列表。我们可以通过这个界面手动构造请求、发送并查看结果。
REST
非常自然地,我们会想到把对于目标服务器的 gRPC 交互转化为对于 grpcui 的 HTTP 交互。
在Web端通过 grpcui 发送请求,然后:
- 通过浏览器 DevTools 查看网络请求,找到对于
/invoke/[SERVICE]
的 POST请求,右键并分别复制请求标头、复制请求数据
- 或者 通过 BurpSuite 抓包并直接全选 Raw Request,
右键 -> Copy to File
最终得到形如这样的的请求文件:
sqlmap
保持 grpcui 运行,接下来开始调用 sqlmap,注意不要让 sqlmap 自动刷新 csrf token。
The end.