帮忙看看这个个文件上传的请求怎么写?

2021-09-07 22:28:34 +08:00
 kaishui00
PUT /encrypt/v2/7cHlSOheO88A+aVzgEbnsVXBzCWlajvoXNhFHCYkq3vSDXXqyj1d17eTaxSEDonobCEX7rooALOxBdu5595WaJOz?partNumber=6&uploadID=/t00os-cn-v-0015c5/e2d9bf7612c441b984c03ca306c4f04e HTTP/1.1
Host: XXXXXXXXXXXXXXXX.com
Connection: close
Content-Length: 5242880
sec-ch-ua: ";Not A Brand";v="99", "Chromium";v="88"
X-Storage-U: 110214908180
Content-CRC32: 993348d1
sec-ch-ua-mobile: ?0
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/octet-stream
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36
Content-Disposition: attachment; filename="undefined"
Accept: */*
Origin: https://xxxxxxxxxxxxxxx.com
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://xxxxxxxxxxxxxxx.com
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

1wc  jR=ù¢¸Í
¶ˆ\æ t6jè ŠcÓ¾0ÅÍcŽ§< ×#êWí ± é<²•ãn~ ™% ?ÊZA }ÁH´"ˆ?Û'ÙÕ¢?;ì¥~;¶³ Xl3]„ ë _	™s,-¢ðLsµô Ìѓ¡ß…†ÞÌfǺâ¯ëŠ?i̤b 4¾  ΅ôÊv¾÷O„% Ôã
b ) o ñæí"ðY˜«6 *¤+C¤Ñ(Tø&®zûç$g øOvqäž×ÌLùðEçm*ð¡ÌÂ
Øѓ.Ò7ϙn ‹(  8hÿ‚Ñ
—ôï_ @퇧Ø1¯öåŠKL´b¥à¦cŠ¨Àô ”J
µ¢ wRåJæ˚ìx–?ÏÔÏ;Ê7µâoü% ç hÿœâ¤§Š¿þ¿ 
.........

以上是 burpsuite 抓的结果,怎么写都传不上去。Content-Type: application/octet-stream 头大,求各位解惑!!

1671 次点击
所在节点    Python
9 条回复
ch2
2021-09-07 22:44:54 +08:00
除了反编译,没人知道是怎么请求
sujin190
2021-09-08 00:00:30 +08:00
猜测整个请求体就是这个文件内容吧,没有任何编码,然后要在 Content-Length 指明文件长度
dzdh
2021-09-08 00:07:58 +08:00
啥语言~~ 这个报文是用啥东西请求的
CEBBCAT
2021-09-08 00:12:08 +08:00
你知道这个是要正确加密才能上传的吧?
kaishui00
2021-09-08 09:34:11 +08:00
@sujin190 对是文件内容,我用 python requests 发送 data 时,不知道怎么把文件读取这编码,请求体的内容是和 vscode 直接打开一样的。
'''python
kaishui00
2021-09-08 09:35:37 +08:00
@sujin190 with open('251f2aa026c222ddf9daef601df3272a.mp4') as f: 直接发 f 也不行
kaishui00
2021-09-08 09:38:23 +08:00
@CEBBCAT 貌似不用,请求体内容和我用 vscode 直接打开是一样的
sujin190
2021-09-08 09:45:18 +08:00
@kaishui00 #6 抓包发的内容格式也一样么?一样的话不应该啊,注意请求头也要设置完整啊,比如要正确设置 content-length,还有这个 Content-CRC32,如果服务器有 crc32 校验的话,不设置也会失败的吧,其它自定义的还有 X-Storage-U 不知道干啥的,Authorization 也要设置正确的登录校验信息
2i2Re2PLMaDnghL
2021-09-08 15:11:46 +08:00
二进制内容 open 要 mode='rb',不然你读出来不保真。
然后发 f.read()
或者你也可以考虑用 requests 的 files 选项,正确地传文件。
docs.python-requests[.]org/en/master/user/quickstart/#post-a-multipart-encoded-file

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/800503

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX