【问题标题】:Restore information from multipart/form-data从 multipart/form-data 恢复信息
【发布时间】:2019-12-30 21:56:35
【问题描述】:

我正在使用 MITM 技术来研究一些应用程序 api,但我无法从多部分 gzip 请求中恢复原始数据

有谁知道我怎样才能恢复这个包的内容?

POST /logging_client_events HTTP/1.1
Accept-Language: pt-BR, en-US
Content-Type: multipart/form-data; boundary=3TtLStKljJgtMAosyN-hY6JtpuUqhC
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 1129

--3TtLStKljJgtMAosyN-hY6JtpuUqhC
Content-Disposition: form-data; name="access_token"

567067343352427|f249176f09e26ce54212b472dbab8fa8
--3TtLStKljJgtMAosyN-hY6JtpuUqhC
Content-Disposition: form-data; name="format"

json
--3TtLStKljJgtMAosyN-hY6JtpuUqhC
Content-Disposition: form-data; name="cmsg"; filename="ae3ada0b-866d-4b0c-b0af-e0c66df71808_5_regular.batch.gz"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

eRÛ®0üòG6¾GÊUhm/9Ö!@0Ð¥ù÷Ú¤Q¢VH\fvf׳ܪ×ê(÷cCu¬¤ÒTi.8µ¨uõ V2Ç(=é«m¦Ü»ÐôË¥   m¸FCç88A¥8ÊÖÄñÄ+¡Zë°6³¤Kì¾w¥ôSJ@DíqÜK"æ­¡uTfeÂâÐ?4PGò$G=qZÔg ÕÌP5ËVLóÿ¾Ç.Mx^:2Ö
çfþ1¾ØÏ
®ùþ7ÖPf5²b2ôm<Ê$]ëê?Ñ¥-£kúíOye8BÀê:HDQsgPÑúZÝNL*¥eÚî®ëie»t³ÜRç©â¨­u
['̹{QÎ`êøq«z¸ássðs\sýÓ
].ãÆSEùAð²³±ý¹`Îl_á¯yÊ~·j;ý3§UfJ&Û³yؾ\÷ÕøõoLv  Wæã4B@óÁÏØFÒ}ù+rí°Ûv¥fïP*Xîh´BÉwêÿ­Þï?î

=======================更新===============

我以这种格式上传了 3 个示例包,如果有人知道如何解决问题,可以尝试 https://gofile.io/?c=fNakzX

【问题讨论】:

  • 如果您只有此文本,那么恐怕您将无法恢复数据。如果你有实际的字节然后剪切最后一个标题下的所有内容并解压缩。
  • @t.m.adam,我确实有实际字节,但我仍然无法解压缩。我上传了 3 个示例包,您可以尝试看看是否可以提供帮助
  • 我也解压不了,抱歉。 GZ 文件以 0x1f8b 开头,而您的数据以 0x3f53 / 0x3f54 开头。他们有一个类似的问题here,我无法让它工作,但它可能会有所帮助。
  • 这是内容配置,是二进制文件,谁告诉你它是压缩的?扩展名没有任何意义。

标签: encryption compression gzip reverse-engineering


【解决方案1】:

您上传的内容包含大量问号,如 ASCII '\x3f'(所有三个版本)。我很确定这些代表了所有字节的原始数据,这些字节是不可打印的字符。在将原始字节更改为问号时,信息完全丢失了。

您的问题描述至少包含一个没有问号的版本,但由于这是二进制数据的真实文本表示,我也很确定缺少一些(相关)字符和/或者某些字符无法正确转换回原始二进制文件。

如果您没有任何其他版本的输入,恐怕您的任务无法完成,对不起。

【讨论】:

  • 我没有清楚地理解您的陈述,但如有必要,我会生成更多输入...我正在使用代理来接收我的手机和应用服务器之间的请求。因此,为了生成 3 个示例文件,我简单地要求代理保存请求,然后删除代理自动附加的非相关字段。我认为在此期间没有进行任何丢失或转换
  • 如果您可以生成更多输入,您应该这样做并尝试以二进制格式存储它。如果您设法通过某些外部网站向我们展示 hexdump 或提供二进制文件,则可以确定如何解压缩数据。但如果你唯一的存储方式是“作为文本”,那么我担心每次编码和翻译都会丢失一些不可打印的字符。
  • 顺便说一句,我们可以在您的帖子中看到的标题是filename="ae3ada0b-866d-4b0c-b0af-e0c66df71808_5_regular.batch.gz",而后缀.gz 强烈表明数据很可能是使用gzip 压缩的。您需要获取二进制数据并将其传递给 gzip 解压缩器(例如 Unix 系统上的 zcat,当然还有任何 gzip 库,如 Python 的 gzip)。
猜你喜欢
  • 2016-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-07-30
  • 1970-01-01
  • 2017-09-20
  • 2021-04-22
  • 2011-03-17
  • 2015-09-19
相关资源
最近更新 更多