文件盲盒太好玩了
1.创意来源
用过奶牛快传的都知道,奶牛快传支持取件码提取文件,而取件码是六位的,因此可以尝试遍历。
使用burp suite遍历一遍,发现很快就能找出很多上传的文件,有很多是 “资源”和内部资源等。
2.问题
使用burp固然简单方便,可是每次都要打开网页抓取,配置,扫描,最后还要将扫描的数字手动输入到网页内,十分不方便。
另外通过观察发现服务器返回的json中包含很多信息,例子:
1 | {"valid":true,"transfer":{"guid":"a447e372-edba-4faf-8498-784637240289","transferName":"PR软件","password":null,"uniqueUrl":"a447e372edba4f","uploadDate":"2021-07-25 下午5:57","expireAt":"2021-11-12 18:02:12","deleted":false,"uploaded":true,"exceeedCustomDownloadLimit":false,"expireHours":2636,"daysToCleanUp":-1,"day":25,"month":7,"year":2021,"language":"zh-cn","receivedTransfer":false,"displayEnterpriseTransferOwner":false,"proAccount":true,"needPassword":false,"frontendShow":false,"shareShow":false,"daysLeft":110,"filesAmount":11,"firstFile":null,"downloaded":0,"downloadLeft":0,"restored":0,"totalSizeGb":15.44,"totalSizeByte":1.6577689809E10,"transferFileDtos":[],"zipDownloadFile":null,"zipComplete":true,"miniAppQrCode":null,"message":null,"tempCode":"101831","tempCodeValid":true,"downloadLimit":-1,"validDaysLimit":-1,"receivers":[],"emailReceivers":[],"canOnlyDownloadInMySpace":false,"enableSingleFileDownload":true,"allowDownloadAll":true,"errorCode":0,"creamTransfer":false,"creamTransferRequestStatus":null,"diabledSaleTransfer":false,"creamTransferPrice":0.0,"creamSuggestPrice":0.0,"creamTransferRevenue":0.0,"syncedFolderGuid":null,"enableDownload":true,"enablePreview":true,"page":0,"totalPages":0,"totalFileAmount":0,"hasFolderStrucutre":true,"disabled":false,"iuploaded":false},"url":"a447e372edba4f"} |
如果利用这些信息进行文件预览的话能提高效率。
于是,一个伟大的软件即将诞生。
3.编写软件
下定决心后,立即开始着手编写软件,使用Python。昨天晚上开始编写用时30分钟,主要是写了代码结构,继续学习了些语法(本人小白,菜到不会语法,真的不要再来问我hello world怎么写,真心不会)
今天学车归来后下午完善了代码,功能实现用时1小时,其中解决了一个以为是不会Python导致的巨大的问题:服务器就是不返回正确的信息(content-length=0),即使和浏览器发送完全一样的信息。
解决过程:
1.第一个想到的是cookies的问题,去查询了相关资料,两种方法实现了获取cookies并发送带正确cookies的请求,还是不行。
2.想看看究竟是和浏览器发送的有什么不一样,试图抓包,尝试了requests库配置代理,信任证书并不核验证书,本地抓包,局域网代理抓包,都以软件只字不发告终。
(为什么我自己程序自己都不能抓包,为什么)
3.最后实在是被这个问题难住想放弃了,开了局排位,死的时候瞄了眼代码,发现好像和浏览器请求差一行,补上后就正常了。
(问题永远出现在你想不到的地方)
离谱的是后来发现只需要差的这一行,其他的headers包括cookies都不要……
1 | GET /transfer/verifydownloadcode?code=101831 |
添加免责声明,friendly tips,优化代码和改进UI 用时一小时,成功。
4.成果展示(点击可查看原图)
1.2.15版本:
优化了代码,增加了详细信息显示
1.2.10版本:
增加了存档功能,优化初始化过程
菜鸡如何使用多线程:
json解析:
极简UI(其实是菜):
大约一秒一个:
最终盲盒打开示例:
1.1.5版本:
5.软件
仅供个人学习研究:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 沫欢的小站!