假设有一个服务器,例如WebServer,使用GET参数“ URL”,然后从传递给它的URL中下载内容。它访问URL并获取其内容(主要是HTML),并以application / json编码格式返回。像这样:
{"response: "200 OK", "body": "<html>hello</html>"}
现在,我正在尝试访问提供ZIP文件的内部服务器URL。像这样:
https://web.server/download?url=https://internal.server/files/abc.zip
返回的内容是application / octet流(来自https://internal.server的ZIP二进制文件),编码为application / json。看起来像这样:
{"response: "200 OK", "body":"PK\u0003\u0004\n\u0000\u0000\u0000\b\u0000�jCO\u0012[\u001du�\u0000\u0000\u0000�\u0000\u0000\u0000\r\u0000\t\u0000.editorc [..snip..]}
无论如何,JSON可以解码上述数据并从中提取应用程序/八位字节流二进制文件。
我尝试使用jq -r .body response.json
,但是zip文件已损坏。
jq -c '.body | fromjson'
返回
jq: error (at randomzip2.txt:1): Invalid numeric literal at line 2, column 0 (while parsing 'PK')
高度赞赏在二进制提取中的任何帮助。谢谢。
PS:我正在为一家允许我执行此类操作的公司进行渗透测试。没有恶意意图下载内部文件内容。