挖洞经验 | Vine用户隐私信息泄露漏洞($7560)
字数 1260 2025-08-18 11:37:46

Vine用户隐私信息泄露漏洞分析报告

漏洞概述

漏洞类型:不安全的直接对象引用(IDOR)
影响范围:Twitter旗下Vine应用的所有用户
漏洞危害:可获取任意用户的IP地址、手机号码和注册邮箱等敏感信息
漏洞奖励:$7560美金
发现者:孟加拉国安全研究员Prial Islam
发现时间:2018年
状态:已修复

漏洞技术细节

漏洞端点

https://vine.co/api/users/profiles/<User Id>

漏洞原理

  1. 该API端点未实施适当的访问控制机制
  2. 通过简单修改URL中的用户ID参数,可以访问任意用户的个人信息
  3. 服务器未验证请求者是否有权访问目标用户的数据
  4. 响应中包含完整的用户个人信息

漏洞复现步骤

  1. 收集目标用户ID

    • 通过Vine主页
    • 通过消息交互
    • 其他可能的用户ID泄露途径
  2. 构造恶意请求

    • 将目标用户ID替换到API端点中
    • 示例:https://vine.co/api/users/profiles/12345678
  3. 发送请求

    • 无需特殊权限或认证
    • 可直接通过浏览器或工具发送GET请求
  4. 获取响应数据

    • 服务器返回包含目标用户完整个人信息的JSON响应

泄露的敏感信息

从响应中可以获取以下关键用户数据:

{
  "phoneNumber": "", 
  "email": "",
  "ipAddress": "",
  "location": "Los Angeles California",
  "twitterId": "",
  "twitterScreenname": "",
  "platforms": ["android", "ios"],
  "created": "2013-04-13T19:30:31.000000",
  "lastLogin": "2016-12-13T23:29:40.000000",
  "modified": "2017-01-29T01:24:00.000000",
  "notificationsLastViewed": "2016-04-26T21:03:35.000000"
}

漏洞影响分析

  1. 直接危害

    • 攻击者可获取任意用户的手机号码、邮箱地址和IP地址
    • 可获取用户的位置信息、设备平台等
    • 可获取账户创建时间、最后登录时间等时间戳信息
  2. 潜在风险

    • 针对用户的钓鱼攻击
    • 账户接管攻击
    • 社会工程学攻击
    • 跨平台攻击(因Vine支持Twitter账户登录)
    • 大规模用户数据收集
  3. 业务影响

    • 违反隐私保护法规(如GDPR)
    • 损害用户信任
    • 品牌声誉损失

漏洞修复建议

  1. 访问控制

    • 实施严格的权限验证
    • 确保用户只能访问自己的个人信息
  2. 输入验证

    • 验证请求中的用户ID是否与当前会话用户匹配
  3. 敏感信息保护

    • 对敏感字段进行脱敏处理
    • 实施最小权限原则,仅返回必要信息
  4. 日志监控

    • 监控异常访问模式
    • 设置访问频率限制
  5. 安全测试

    • 定期进行渗透测试
    • 特别关注IDOR类漏洞

漏洞挖掘技巧

  1. 参数篡改测试

    • 尝试修改URL中的ID类参数
    • 测试递增/递减ID值的效果
  2. 响应分析

    • 检查API响应是否包含不必要的信息
    • 对比不同权限级别用户的响应差异
  3. CORS检查

    • 虽然本例中CORS配置正确,但仍需作为常规测试项
  4. 自动化工具辅助

    • 使用Burp Suite等工具进行参数模糊测试
    • 编写简单脚本进行批量ID测试

经验总结

  1. IDOR漏洞常见性

    • 这是Web应用中最常见的安全漏洞之一
    • 常出现在处理对象引用(如用户ID、订单号等)的场景中
  2. 测试方法论

    • 不要假设认证机制能防止所有越权访问
    • 每个接受ID参数的端点都应测试IDOR可能性
  3. 漏洞价值评估

    • 影响范围广的IDOR漏洞通常能获得较高奖励
    • 涉及敏感数据泄露的漏洞价值更高
  4. 报告技巧

    • 清晰展示漏洞复现步骤
    • 准确描述潜在影响
    • 提供可行的修复建议

附录:完整响应示例

{
  "code": "",
  "data": {
    "followerCount": 16271364,
    "includePromoted": 1,
    "captchaSucceeded": 0,
    "recordComment": null,
    "locale": "iUS",
    "shareUrl": "https://vine.co/",
    "hiddenPhoneNumber": 0,
    "notPorn": 0,
    "userId": ,
    "private": 0,
    "likeCount": null,
    "commentCount": null,
    "platforms": ["android", "ios"],
    "postCount": null,
    "profileBackground": "0x33ccbf",
    "suspended": null,
    "hiddenFacebook": 0,
    "verifiedEmail": 0,
    "explicitContent": 0,
    "dmcaStrikeCount": 0,
    "flaggedCount": 7579,
    "verified": 1,
    "loopCount": 6132344784,
    "avatarUrl": "http://v.cdn.vine.co/r/avatars/.jpg?versionId=JIjnvXTkbWpjvk7glYZIXDqt187couHr",
    "authoredPostCount": 598,
    "review_result_illegal_review": 0,
    "review_result_ok": 0,
    "review": null,
    "suspendedBy": null,
    "twitterId": ,
    "phoneNumber": "",
    "location": "Los Angeles California",
    "notifyActivity": 1,
    "facebookConnected": 1,
    "explicitContentAdmin": 0,
    "statsTags": null,
    "hiddenEmail": 0,
    "unflaggable": 0,
    "username": "",
    "modified": "2017-01-29T01:24:00.000000",
    "userIdStr": "",
    "twitterIdStr": "",
    "vanityUrls": ["kingbach"],
    "remixDisabled": 0,
    "deleted": null,
    "categories": null,
    "released": 0,
    "loopVelocity": null,
    "strikeCounts": [
      {"count": 0, "strikeType": "SEVERE_POLICY_VIOLATION"},
      {"count": 0, "strikeType": "DMCA"},
      {"count": 0, "strikeType": "SENSITIVE"},
      {"count": 0, "strikeType": "POSSIBLY_ILLEGAL"},
      {"count": 0, "strikeType": "GRAPHIC_NON_VIOLATING"},
      {"count": 0, "strikeType": "ESC"}
    ],
    "uploadHD": 1,
    "verifiedPhoneNumber": 1,
    "hiddenTwitter": 0,
    "vineVerified": 1,
    "notifyMessages": 1,
    "needsPhoneVerification": 0,
    "repostCount": null,
    "twitterScreenname": "",
    "secondaryColor": "0x33ccbf",
    "twitterVerified": 1,
    "captchaRequired": 0,
    "edition": null,
    "acceptsOutOfNetworkConversations": 1,
    "disableAddressBook": 1,
    "description": "Instagram/Twitter/Shots/SnapChat- @ For booking go to the library",
    "escStrikeCount": 0,
    "review_result_explicit": 0,
    "notificationsLastViewed": "2016-04-26T21:03:35.000000",
    "email": "",
    "hideFromPopular": 0,
    "admin": 0,
    "contentReview": 0,
    "created": "2013-04-13T19:30:31.000000",
    "review_result_illegal_confirmed": 0,
    "followingCount": null,
    "lastLogin": "2016-12-13T23:29:40.000000",
    "escUser": 0,
    "ipAddress": "",
    "twitterConnected": 1
  },
  "success": true,
  "error": ""
}

参考资源

  1. 原始漏洞报告 - Medium
  2. OWASP IDOR指南
  3. Twitter漏洞奖励计划
Vine用户隐私信息泄露漏洞分析报告 漏洞概述 漏洞类型 :不安全的直接对象引用(IDOR) 影响范围 :Twitter旗下Vine应用的所有用户 漏洞危害 :可获取任意用户的IP地址、手机号码和注册邮箱等敏感信息 漏洞奖励 :$7560美金 发现者 :孟加拉国安全研究员Prial Islam 发现时间 :2018年 状态 :已修复 漏洞技术细节 漏洞端点 漏洞原理 该API端点未实施适当的访问控制机制 通过简单修改URL中的用户ID参数,可以访问任意用户的个人信息 服务器未验证请求者是否有权访问目标用户的数据 响应中包含完整的用户个人信息 漏洞复现步骤 收集目标用户ID : 通过Vine主页 通过消息交互 其他可能的用户ID泄露途径 构造恶意请求 : 将目标用户ID替换到API端点中 示例: https://vine.co/api/users/profiles/12345678 发送请求 : 无需特殊权限或认证 可直接通过浏览器或工具发送GET请求 获取响应数据 : 服务器返回包含目标用户完整个人信息的JSON响应 泄露的敏感信息 从响应中可以获取以下关键用户数据: 漏洞影响分析 直接危害 : 攻击者可获取任意用户的手机号码、邮箱地址和IP地址 可获取用户的位置信息、设备平台等 可获取账户创建时间、最后登录时间等时间戳信息 潜在风险 : 针对用户的钓鱼攻击 账户接管攻击 社会工程学攻击 跨平台攻击(因Vine支持Twitter账户登录) 大规模用户数据收集 业务影响 : 违反隐私保护法规(如GDPR) 损害用户信任 品牌声誉损失 漏洞修复建议 访问控制 : 实施严格的权限验证 确保用户只能访问自己的个人信息 输入验证 : 验证请求中的用户ID是否与当前会话用户匹配 敏感信息保护 : 对敏感字段进行脱敏处理 实施最小权限原则,仅返回必要信息 日志监控 : 监控异常访问模式 设置访问频率限制 安全测试 : 定期进行渗透测试 特别关注IDOR类漏洞 漏洞挖掘技巧 参数篡改测试 : 尝试修改URL中的ID类参数 测试递增/递减ID值的效果 响应分析 : 检查API响应是否包含不必要的信息 对比不同权限级别用户的响应差异 CORS检查 : 虽然本例中CORS配置正确,但仍需作为常规测试项 自动化工具辅助 : 使用Burp Suite等工具进行参数模糊测试 编写简单脚本进行批量ID测试 经验总结 IDOR漏洞常见性 : 这是Web应用中最常见的安全漏洞之一 常出现在处理对象引用(如用户ID、订单号等)的场景中 测试方法论 : 不要假设认证机制能防止所有越权访问 每个接受ID参数的端点都应测试IDOR可能性 漏洞价值评估 : 影响范围广的IDOR漏洞通常能获得较高奖励 涉及敏感数据泄露的漏洞价值更高 报告技巧 : 清晰展示漏洞复现步骤 准确描述潜在影响 提供可行的修复建议 附录:完整响应示例 参考资源 原始漏洞报告 - Medium OWASP IDOR指南 Twitter漏洞奖励计划