当前位置: 首页 > news >正文

揭秘Mobile Me数据挖掘:从WebDAV探测到隐藏文件发现

我最近发布了Bucket Finder脚本,Darren在Hak5节目中进行了专题报道。有反馈指出Mobile Me采用相同机制,用户可通过https://public.me.com/<账户名>格式URL访问公开账户。考虑到Mobile Me存储的是个人而非商业数据,且与桌面端同步,我认为这将带来丰富的数据收获。由于Mobile Me已停止新用户注册,所有分析均基于现有数据。

在发现一个包含多个公开文件的账户后,我开始分析源代码。首先注意到页面上显示的文件均未在源码中出现,推测需要通过AJAX调用获取文件列表。使用Firebug捕获到以下返回数据的URL:

https://public.me.com/ix/XXXX?protocol=roap&item=properties&repfmt=swjson&depth=1&reqid=1234566778888&lang=en

该URL返回JSON格式的目录列表。虽然可以处理JSON,但更倾向于使用XML(已有解析框架)。通过调整查询参数发现:删除reqid和lang字段无影响;depth设为2可获取两级目录,但≥3会报错;最关键的是删除repfmt字段后,数据奇迹般变为XML格式。最终得到优化URL:

https://public.me.com/ix/XXXX?protocol=roap&item=properties&depth=1

返回的XML示例如下(精简显示文件和目录结构):

<?xml version="1.0" encoding="utf-8" ?>
<multistatus xmlns="DAV:"><D:response xmlns:D="DAV:"><D:href>/ix/hank/</D:href><D:propstat><D:prop><D:resourcetype><D:collection/></D:resourcetype></D:prop><D:status>HTTP/1.1 200 OK</D:status></D:propstat></D:response><D:response xmlns:D="DAV:"><D:href>/ix/XXXX/file.mp4</D:href><D:propstat><D:prop><D:getcontentlength>118727222</D:getcontentlength></D:prop></D:propstat></D:response>
</multistatus>

这显然是WebDAV协议。选择解析XML而非学习WebDAV库:若D:resourcetype包含D:collection则为目录,否则为文件。对文件记录URL及相关信息,对目录则递归访问。

但初步测试发现:浏览器通过JSON获取时包含以点开头的隐藏文件/目录(如OS X回收站.Trashes),而脚本输出却缺失该目录。最初怀疑是JSON与WebDAV差异,但切换回JSON仍不显示隐藏项。通过Burp代理对比请求,最终发现关键差异:用户代理字符串。使用Ruby默认UA时无隐藏文件,切换为Firefox UA后则出现。

尽管Web界面会隐藏这些文件(即使被返回),但垃圾桶目录至关重要——用户可能将文件放入公开文件夹后删除,却不知仍可从垃圾桶恢复。其他如.DSStore文件也可能包含有用信息。

最终开发了Me Finder脚本(可从项目页面下载),并像处理Bucket Finder一样使用词表进行分析(详见《Analyzing Mobile Me》)。


更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.rkmt.cn/news/6289.html

相关文章:

  • 洛谷 P10936 导弹防御塔 题解
  • 初赛复习
  • 用户帐户控制(UAC)
  • 6款超好用的AI换脸软件,一键视频直播换脸(附下载链接)
  • KUKA程序中DEF 与 DEFFCT 的区别
  • 第一天作业
  • 八皇后问题
  • 2025.9.16日软件工程学习日志
  • 2025ccpc南昌邀请赛感想+补题
  • img标签如何去除边框?
  • 25.9.16 java se大致了解后开始学习MySQL
  • C++ + OpenCV + Tesseract 实现英文数字验证码识别
  • 表格识别技术:“唤醒”沉睡在纸质文档中的海量结构化数据
  • 《软件需求最佳实践》阅读笔记一
  • 计数原理与排列组合
  • 9.16动态用例设计方法 笔记
  • 深入解析:ESP32三种主流的开发环境
  • js
  • 9.16电商状态迁移图
  • 总结-CDQ 分治
  • Win10玩LOL弹窗
  • Week 1 Homework
  • 异地办公文件同步,多台设备如何无缝同步最新教程
  • CSP-S模拟22
  • K8S探针
  • bug1
  • 选择语句的机器级表示
  • 深入解析:numpy学习笔记
  • Nginx auth_request 模块使用
  • Mac上的Markdown学习